二十六、输出1!、2!、3!、4!、...、n!的值。
1 #include <stdio.h> 2 3 void main(void) 4 { 5 int i, n; 6 float fac; 7 8 printf("Input n: "); 9 scanf("%d", &n); 10 for (i = 1; i<=n; i++) 11 { 12 fac = fac * i; 13 printf("%d! = %.0f ", n, fac); 14 i++; 15 } 16 }
二十七、在两行上分别按顺序和逆序输出26个英文大写字母。
1 #include <stdio.h> 2 3 void main(void) 4 { 5 int i; 6 7 for (i = 0; i <= 25; i++) 8 printf("%c ", 'A' + i); 9 printf(" "); 10 11 for (i = 25; i >= 0; i--) 12 printf("%c ", 'A' + i); 13 printf(" "); 14 }
二十八、求1-1/2+1/3-1/4+...-1/100的值。
1 #include <stdio.h> 2 3 void main(void) 4 { 5 int i, sign = 1; 6 float sum = 0.0; 7 8 for (i = 1; i <=100; i++) 9 { 10 sum = sum + (float)sign / i; 11 sign = -sign; 12 } 13 printf("sum = %f ", sum); 14 }
二十九、输出斐波那契级数1、1、2、3、5、8、13、...的前30项
1 #include <stdio.h> 2 3 void main(void) 4 { 5 int i; 6 long a, b, next; 7 8 a = b = 1; 9 printf("%10ld%10ld", a, b); 10 n = 2; 11 12 for (i = 3; i <= 30; i++) 13 { 14 next = a + b; 15 printf("%10ld", next); 16 n++; 17 if (n % 6 ==0) 18 printf(" "); 19 a = b; 20 b = next; 21 } 22 printf(" "); 23 }
结果:
1 1 2 3 5 8
13 21 34 55 89 144
233 377 610 987 1597 2584
4181 6165 10946 17711 28657 46368
75025 121393 196418 317811 514229 832040
三十、从键盘输入若干个非0数据,求它们的和。用0结束循环语句。
1 #include <stdio.h> 2 3 void main(void) 4 { 5 int a, sum = 0; 6 7 printf("Input data: "); 8 scanf("%d", &a); 9 while (a != 0) 10 { 11 printf("%4d", a); 12 sum = sum + a; 13 scanf("%4f", &a); 14 } 15 printf(" sum = %d ", sum); 16 }
结果:
(1)Input data: 11 22 33 44 55 66 77 88 99 0 1 2
11 22 33 44 55 66 77 88 99
sum = 495
(2)Input data: 0