发布时间 : 星期四 文章C语言经典例题更新完毕开始阅读
(17)程序功能:计算并输出500以内最大的10个被 13或17整除的自然数之和。 #include
{ int n ; int sum=0; int count=0;
for (n=500 ; n>0 ; 【1】)
{ if 【2】
{ sum=【3】; 【4】
if (count>=10) 【5】; } }
printf(“sum=%d”, sum); }
(18)程序功能:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。 #include
{ int num; int i=0; int j=0;
printf(“请输入多个整数:(以0结束输入)”); scanf(【1】); while (【2】) {
if (num>0) 【3】;
else if (num<0) 【4】; 【5】; }
printf(“大于0的个数:%d\\n”, i); printf(“小于0的个数:%d\\n”, j); }
(19)程序功能:编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号‘*’,英文句子以‘.’ 结束。 #include
while (【1】) {
if ( c>’ ‘) { printf(“ * ”); 【2】;
}
【3】;
if (【4】) printf(“%d”, c) ; } 【5】; return 0; }
(20)程序功能:求方程aX2+bX+c=0,输入a,b,c的值。 #include
{ float a , b , c , t ; double x1 ,x2 ;
printf(“请由高次到低次顺序输入系数:\\n”); scanf(“【1】” , &a , &b , &c ) ; t=【2】;
if (【3】) printf(“ 方程无实根\\n”); if (【4】)
{ x1=-(b/2/a);
printf(“方程有两个相等实根,x1=x2=%5.2f\\n” , x1 ); }
if (【5】)
{ x1= -(b+sqrt( t ))/2/a; x2= -(b-sqrt( t ))/2/a;
printf(“方程有两个不等实根,x1=%5.2f,x2=%5.2f\\n” , x1,x2 ); } }
(21)编程用函数调用的方法求个数的和 #include
float a , b , sum ;
scanf(“%f , %f”, &a , &b);
sum=【2】;
printf(“Sum is 【3】”, sum); }
float add(float x , float y ) { float z ; z=【4】;
return(【5】); }
(22)输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。 #include
{ int m , n , k , i=0 ;
for (【1】; m<=1000 ; m++)
{ 【2】; n=m; do {
k=k+【3】;
n=n/10; } 【4】 if (k==0)
{ printf(“]”, m); i++;
if ( i==0) 【5】; }
} }
(23)输入一个圆半径(r),当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。 #include
{ 【2】 r , s , c ;
printf(“please input r :\\n”); scanf(“%f”, 【3】); if ( r>0 )
{【4】=PI*r*r; c=2*PI*r;
printf(“the circumference is %f\\n” , c); }
【5】 printf(“input error! \\n”); }
(24)编写程序,求s=#include
{ int i=【1】; float s=0.0; while (【2】)
{ s=s+1.0/(i*(i+1));
【3】; }
printf(“result is 【4】\\n” , 【5】); }
(25)以下程序实现了计算了x的n次方,请将程序填写完整。 float power(float x , int n) { int i ; float 【1】;
for ( i=1 ; 【2】; i++) t=t * x ;
return 【3】; }
#include
{ float x , y ; int n ;
scanf(“%f , %d” , &x , 【4】); y=【5】 ;
printf(“%8.2f\\n” , y ) ; }
(26)求sn=a+aa+aaa+aaaa+…+aaa…aa的值。其中a是一个数字,例如6+66+666+6666+666666(此时n=5),n由键盘输入。
#include
{ int a , n , i=1 , sn=0 , tn=0;
11?2
+
12?3
+
13?4
+?前50项之和,(结果保留三位小数)
scanf(“%d , %d” , 【1】); while ( 【2】)
{ tn=tn+a ; sn=sn+tn ; a=【3】 ;
【4】 ;}
【5】(“a+aa+aaa+aaaa+…..=%d\\n” , sn ) ; }
(27)一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6=1+2+3。编程找出1000以内的所有完数。
#include
{ int x , temp , sum; //x表示要判断的数,temp表示数的因子,sum表示因子之和。 for ( x=1 ;【1】; x++) { sum=【2】;
for ( temp=1 ; temp { if ( x % temp【3】0 ) {sum=sum + temp ; } //判断x能否被temp整除,如果可以,则是因子,进行求和 } if (【4】) { printf(“【5】” , x ); } // 如果是完数,打印输出 } (28)马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人? #include { int 【1】; printf(“Men Women Children:\\n”); for ( x=0 ;【2】; x++) { y=【3】; z=【4】; if ( 3*x +2*y+z【5】50 ) printf(“%d,%d,%d\\n” , x , y , z ); } } (29)有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总数为多少?(提示:每个月的兔子总数依次为1,1,2,3,5,8,13…) #include { long 【1】, fib2=1 , fib ; int i ; printf(“%ld ,%ld” , fib1 , fib2);/*输出第一个月和第二个月的兔子数*/ for (【2】; i<=30 ; i++) { fib =【3】; /*迭代求出当前月份的兔子数 */ printf(“%ld , “ , fib); /* 输出当前月份兔子数 */ if ( i%4 = = 0 ) 【4】 ; /* 每行输出4个 */ fib1 = 【5】; } } (30)编程,利用函数调用计算两个数的最大公约数和最小公倍数并输出结果。 #include