### C语言-1 ```c /*------------------------------------------------------- 编程计算:s=1×2×3×……×n (n由键盘输入,使用for循环) -------------------------------------------------------*/ #include main() { int i,n,p; p=1; printf("请输入一个正整数n:"); scanf("%d",&n); /**********Program**********/ for(i=2;i<=n;i++){ p*=i; } /********** End **********/ printf("1*2*...*%d = %d\n",n,p); } ``` ### C语言-2 ```c /*------------------------------------------------------- 编程计算π的近似值(直到最后一项的绝对值小于10-5为止),要求保留小数点后10位: (使用while) -------------------------------------------------------*/ #include #include main() { int i,f; double t,s; f=1; s=0; i=1; t=1.0; /**********Program**********/ while(fabs(t/i)>1e-5){ s+=t/i*f;//计算该项的值 f*=-1;//翻转符号 i+=2; } /********** End **********/ s=s*4; printf("圆周率的近似值为:%.10f\n",s); } ``` ### C语言-3 ```c /*------------------------------------------------------- 编程计算π的近似值(直到最后一项的绝对值小于10-5为止,使用while): -------------------------------------------------------*/ #include #include #define N 1e-5 main() { int i,f; double t,s; f=1; s=0; i=1; t=1.0; /**********Program**********/ while(fabs(t/i)>N){ s+=t/i*f;//计算该项的值 f*=-1;//翻转符号 i+=2; } /********** End **********/ s=s*4 ; printf("圆周率的近似值为:%f\n",s); } ``` ### C语言-4 ```c /*------------------------------------------------------- 功能:编程实现求1-10(包含1,不包含10)之间的所有数的乘积并输出。(使用while) --------------------------------------------------------*/ #include main( ) { int i=1, sum=1; /**********Program**********/ while(i<10){ sum*=i; i++; } /********** End **********/ printf("the sum of odd is :%d\n",sum); } ``` ### C语言-5 ```c /*------------------------------------------------------- 功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最 低成绩,当输入负数时结束输入。(使用while循环) --------------------------------------------------------*/ #include main() { int x,max,min; printf("please input x:\n"); scanf("%d",&x); max=x; min=x; /**********Program**********/ while(x > 0){ if(x > max){ max = x; } if(x < min){ min = x; } scanf("%d", &x); } /********** End **********/ printf("max=%d,min=%d\n",max,min); } ``` ### C语言-6 ```c /*------------------------------------------------------- 编程计算:使用for计算,s=1+2+3+……+n (n由键盘输入) -------------------------------------------------------*/ #include main() { int i,n,sum; sum=0; printf("请输入一个正整数n:"); scanf("%d",&n); /**********Program**********/ for(i=1;i<=n;i++){ sum+=i; } /********** End **********/ printf("1+2+...+%d = %d\n",n,sum); } ``` ### C语言-7 ```c /*------------------------------------------------------- 功能:编写比较a、b两个数的大小,且把大者赋给max,小者赋给min。 --------------------------------------------------------*/ #include"stdio.h" main() { int a,b,min,max; printf("输入两个数给a,b:"); scanf("%d,%d",&a,&b); /**********Program**********/ if (a > b) { max = a; min = b; } else { max = b; min = a; } /********** End **********/ printf("min=%d,max=%d\n",min,max); } ``` ### C语言-8 ```c /*------------------------------------------------------- 功能:输入三个整数x,y,z,请把这三个数由小到大输出。 --------------------------------------------------------*/ #include main() { int x,y,z,t; scanf("%d%d%d",&x , &y , &z); /**********Program**********/ if (x > y) { t = x; x = y; y = t; } if (y > z) { t = y; y = z; z = t; } if (x > y) { t = x; x = y; y = t; } /********** End **********/ printf("small to big: %d %d %d\n",x,y,z); } ``` ### C语言-9 ```c /*------------------------------------------------------- 功能:从键盘输入整数n,输出n以内所有奇数的和。(使用for循环) --------------------------------------------------------*/ #include void main() { int n,i,s; s=0; scanf("%d",&n); /**********Program**********/ for(i=1;i<=n;i++){ if(i%2==1){ s+=i; } } /********** End **********/ printf("s=%d\n",s); } ``` ### C语言-10 ```c /*------------------------------------------------------- 编程计算:s=1!+3!+5!+…n! (n由键盘输入,使用for循环) -------------------------------------------------------*/ #include main() { int i,j,n; long p,sum; sum=0; printf("请输入一个正整数n:"); scanf("%d",&n); /**********Program**********/ p = 1; for ( i = 1;i <= n; i++ ) { p *= i; if ( i%2 == 1 ) { sum += p; } } /********** End **********/ printf("1!+3!+...+%d!= %d\n",n,sum); } ``` ### C语言-11 ```c /*------------------------------------------------------- 编程计算求e近似值: 用while语句求直到最后一项值小于10-5为止。 e=0+1+1/1+1/1/2+1/1/2/3... -------------------------------------------------------*/ #include main() { int i; double t,e; i=1; t=1.0; e=0; /**********Program**********/ e = 2; i = 2; while(t/i > 1e-5){ e += t/i; t /= i++; } /********** End **********/ printf("e=%f\n",e); } ``` ### C语言-12 ```c /*------------------------------------------------------- 编程计算求e近似值: 用for语句求前50项之和。 e=0+1+1/1+1/1/2+1/1/2/3... -------------------------------------------------------*/ #include main() { int i; double t,e; t=1.0; e=0; for(i=1;i<=50;i++) { /**********Program**********/ e += t; t /= i; /********** End **********/ } printf("前50项之和为:%f\n",e); } ``` ### C语言-13 ```c /*------------------------------------------------------- 功能:输入一个圆半径(r),当r>=0时,计算并输出圆的面积(area)和周长(circumference),否则,输出提示信息。 --------------------------------------------------------*/ #include #define PI 3.14 main() { float r,s,l; printf("please input r:\n"); scanf("%f",&r); if (r>=0) { /**********Program**********/ s = PI * r*r; l = 2*PI*r; /********** End **********/ printf("the area is %f\n",s); printf("the circumference is %f\n",l); } else printf("input error!\n"); } ``` ### C语言-14 ```c /*------------------------------------------------------- 功能:编写程序输入三位数(100-999),然后按数字逆序输出。(例:输入456↙,输出654)。 --------------------------------------------------------*/ #include void main() { int n,ge,shi,bai; printf("请输入一个三位正整数:"); scanf("%d",&n); if((n<100)||(n>999)) printf("输入数据有误!\n"); else { /**********Program**********/ ge = n % 10; shi = n % 100 / 10; bai = n / 100; /********** End **********/ printf("此数的逆序输出结果为:%d%d%d\n",ge,shi,bai); } } ``` ### C语言-15 ```c /*------------------------------------------------------- 编程计算:s=1!+2!+3!+…n! (n由键盘输入,使用for循环) -------------------------------------------------------*/ #include main() { int i,j,n; long p,sum; sum=0; printf("请输入一个正整数n:"); scanf("%d",&n); /**********Program**********/ p = 1; for( i = 1;i <= n; i++ ){ p *= i; sum += p; } /********** End **********/ printf("1!+2!+...+%d!= %d\n",n,sum); } ``` ### C语言-16 ```c /*------------------------------------------------------- 编程计算:s=1-3+5-7+……-99(使用for循环) -------------------------------------------------------*/ #include main() { int i,f,sum; f=1; sum=0; /**********Program**********/ for(i=1;i<=99;i++){ if(i%2==1){ sum += i*f; f*=-1; } } /********** End **********/ printf("1-3+5-7+...-99 = %d\n",sum); } ``` ### C语言-17 ```c /*------------------------------------------------------- 功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是 参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。 例:(注意输出格式) 输入:3,+,4 输出:3.000000+4.000000=7.000000 --------------------------------------------------------*/ #include main() { float a,b; char op; printf("Please enter a,b and op:"); scanf("%f,%c,%f",&a,&op,&b); switch(op) { /**********Program**********/ case '+':printf("%f+%f=%f\n", a, b, a+b);break; case '-':printf("%f-%f=%f\n", a, b, a-b);break; case '*':printf("%f*%f=%f\n", a, b, a*b);break; /********** End **********/ case '/':if(b!=0) printf("%f/%f=%f\n",a,b,a/b); else printf("error!\n");break; default:printf("error!\n");break; } } ``` ### C语言-18 ```c /*------------------------------------------------------- 功能:编写程序,把三个整数中最大的打印出来。 --------------------------------------------------------*/ #include"stdio.h" main() { int a,b,c,m; scanf("%d,%d,%d", &a,&b,&c); /**********Program**********/ m = a; if( b > m ){ m = b; } if ( c > m ) { m = c; } /********** End **********/ printf ("m=%d\n",m); } ``` ### C语言-19 ```c /*------------------------------------------------------- 功能::使用for循环打印出如下图案(菱形) * *** ***** ******* ***** *** * --------------------------------------------------------*/ #include main() { int i,j,k; /**********Program**********/ for(i=-3;i<=3;i++){ for(j=0;j<(i<0?-i:i);j++){ printf(" "); } for(k=0;k<7-j*2;k++){ printf("*"); } printf("\n"); } /********** End **********/ } ``` ### C语言-20 ```c /*------------------------------------------------------- 功能:找出n个数中最大的数和最小的数,并将它们的值输出出来。 --------------------------------------------------------*/ #include int main() { int a,n,i,min,max; scanf("%d",&n); scanf("%d",&a); min=a; max=a; for(i=1;i max){ max = a; } if(a < min){ min = a; } /********** End **********/ } printf("The maximum number is %d.\n",max); printf("The minimum number is %d.\n",min); } ```