C语言成长学习题(七)

二十六、输出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", 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("\n");
10
11     for (i = 25; i >= 0; i--)
12         printf("%c ", ‘A‘ + i);
13     printf("\n");
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\n", 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("\n");
19         a = b;
20         b = next;
21     }
22     printf("\n");
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("\nsum = %d\n", 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

时间: 2024-12-28 18:15:06

C语言成长学习题(七)的相关文章

C语言成长学习题(十五)

66.编写字符串复制的程序(用指针变量处理). 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[50], b[80], *p, *q; 6 7 p = a; 8 q = b; 9 printf("Input data: "); 10 gets(a); 11 while (*p != '\0') 12 *q++ = *p++; 13 *q = '\0'; 14 puts(b); 15 } Mark: 复制操作结束后,

C语言成长学习题(十六)

72.假设一维数组中存放互不相同的十个整数,要求根据输入的下标值,即可直接删除. 1 #include <stdio.h> 2 3 int mydel (int *a, int n, int k) 4 { 5 int i; 6 7 for (i = k; i < n - 1; i++) 8 *(a+i) = *(a+i+1); 9 n--; 10 11 return n; 12 } 13 14 void myout (int *a, int n) 15 { 16 while (n >

C语言成长学习题(十四)

六十一.定义4*6的实型数组,并将各行前5列元素的平均值分别放在同一行的第6列上. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 float a[4][6], sum; 6 int i, j; 7 8 for (i = 0; i < 4; i++) 9 for (j = 0; j < 5; j++) 10 a[i][j] = i * j + 1; 11 for (i = 0; i < 4; i++) 12 { 13 sum =

C语言成长学习题(十三)

五十六.编写求字符串长度的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[80]; 6 int i = 0, count = 0; 7 8 gets(a); 9 while (a[i] != '\0') 10 { 11 count++; 12 i++; 13 } 14 printf("%s = %d\n", a, count); 15 } 五十七.编写字符串复制的程序. 1 #include <std

C语言成长学习题(三)

十.编写一个含有逻辑表达式的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 int x; 6 7 x = 1; 8 printf("%d ", x>=0 && x<=2); 9 10 x = 5; 11 printf("%d ", x>=0 && x<=2); 12 printf("%d ", x<-3 || x>

C语言成长学习题(五)

十七.求一元二次方程ax2+bx+c=0的实根(要求a.b.c的值从键盘输入,a!=0). 1 #include <stdio.h> 2 #include <math.h> 3 4 void main(void) 5 { 6 int a, b, c; 7 float delta, x1, x2; 8 9 printf("Input a, b, c:\n"); 10 scanf("%d%d%d", &a, &b, &c)

C语言成长学习题(四)

十三.编写输出如下分段函数值的程序,要求x的值从键盘输入. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 float x, y; 6 7 printf("Input x:\n"); 8 scanf("%f", &x); 9 if(x <= 0) 10 y = x + 1; 11 else if(x <= 1) 12 y = 1; 13 else 14 y = x; 15 printf(&

C语言成长学习题(十)

四十一.编写实现以下功能的程序:若从键盘输入字符Y(或y)或N(或n),则终止循环,否则一直等待输入. 1 #include <stdio.h> 2 #include <conio.h> 3 4 void main(void) 5 { 6 char c; 7 8 printf("是否继续(Y/N)?\n"); 9 do 10 { 11 c = getch(); 12 if (c == 'Y' || c == 'y' || c == 'N' || c =='n')

C语言K&R习题系列——句子中一个空格代替多个空格的四种方法

原题: Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank. 第一种: 这种最常用,设置一个inspace作为布尔变量,标志当前输入是否在字符中,或在字符外 #include <stdio.h>   int main(void) {   int c;   int inspace=0;     while((c = getcha