1、请参照本章例题,编写一个C程序,输出以下信息:
**************************
Very Good!
**************************
数*号可看出,Very前面9空格,Good前面……
*也是输出的一部分,别光打印Very Good!
#include<stdio.h>
int main()
{
printf("**************************\n");
printf(" Very Good!\n");
printf("**************************");
return 0;
}
2、要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,'C’、'h’、'i’、'n’、'a’,经过运算,输出变换后的密码。
#include<stdio.h>
int main()
{
char ch1,ch2,ch3,ch4,ch5;
scanf("%c",&ch1);
scanf("%c",&ch2);
scanf("%c",&ch3);
scanf("%c",&ch4);
scanf("%c",&ch5);
printf("%c%c%c%c%c",ch1+4,ch2+4,ch3+4,ch4+4,ch5+4);
return 0;
}
3、求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
#include<stdio.h>
int main()
{
int n;
int i=1;
long long int sum=0,s=1;
scanf("%d",&n);
while(i<=n)
{
s=s*i;
sum=sum+s;
i++;
}
printf("%lld",sum);
}
4、求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
输入:a b c
输出:1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+...+1/c
#include<stdio.h>
main()
{
int i,a,b,c;
float s=0;
scanf("%d%d%d",&a,&b,&c);
for(i=1;i<=a;i++)
s+=i;
for(i=1;i<=b;i++)
s+=i*i;
for(i=1;i<=c;i++)
s+=1.0/i;
printf("%.2f ",s);
}
5、打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。
#include <stdio.h>
int main() {
int i,l,m,n;
for(i=100; i<=900; i++) {
m=i/100;
n=(i-m*100)/10;
l=i%10;
if(i==m*m*m + n*n* n+ l*l*l) {
printf("%d ", i);
}
}
return 0;
}
6、一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
#include <stdio.h>
int main()
{
int n,m,i,j,s;
scanf("%d",&n);
for(m=6;m<n;m++)
{
s=1;
for(i=2;i<m;i++)
{
if(m%i==0)
s=s+i;
}
if(m-s==0)
{
printf("%d its factors are 1 ",m);
for(j=2;j<m;j++)
{
if(m%j==0)
printf("%d ",j);
}
printf("\n");
}
}
return 0;
}
7、有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
#include<stdio.h>
int main() {
int N;
int i;
double t,num,sum=0;
double a=1,b=2;
scanf("%d",&N);
for(i=1; i<=N; i++) {
num=b/a;
sum=sum+num;
t=b;
b=a+b;
a=t;
}
printf("%.2f\n",sum);
return 0;
}
8、一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数,
#include<stdio.h>
#include<math.h>
int main()
{
int i,N;
float M,h,l=0;
scanf("%f%d",&M,&N);
l=M;
for(i=1;i<=N;i++){
h=M/pow(2,i);
l+=h*2;
}
l-=h*2;
printf("%.2f %.2f\n",h,l);
return 0;
}
9、用筛法求N之内的素数。
#include<stdio.h>
int main()
{
int i,j,N,flag=0;
scanf("%d",&N);
printf("2\n");
for(i=3;i<=N;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if (j == i) printf("%d\n",i);
}
return 0;
}
10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
#include <stdio.h>
int main()
{
int n,m=1;
scanf("%d",&n);
for(int i=9;i>0;i--)
{
m=2*(m+1);
}
printf("%d",m);
return 0;
}