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')
13             break;
14         printf("输入错误,请重新输入一个字符.\n");
15     }while (1);
16     printf("输入正确.\n");
17 }

 

四十二、在100以内的三个数i、j、k中,找出满足i2 + j2 + k2 > 100的数(只要求找出一个)。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int i, j, k;
 6 
 7     for (i = 1; i < 100; i++)
 8         for ( j = 1; j < 100; j++)
 9             for ( k = 1; k < 100; k++)
10                 if ( i * i + j * j + k * k > 100)
11                     goto stop;
12 
13 stop:
14     printf("i = %d, j = %d, k = %d\n", i, j, k);
15 }

 

 

四十三、输入若干学生的成绩(用负数结束输入),计算其平均成绩,并统计不低于平均分的学生人数。

 1 #include <stdio.h>
 2 
 3 #define N 40
 4 
 5 void main(void)
 6 {
 7     int i, n = 0, count = 0;
 8     float score, total = 0, a[N], ave;
 9 
10     printf("Input data: ");
11     scanf("%f", &score);
12     while ( score >= 0)
13     {
14         a[n++] = score;
15         total += score;
16         scanf("%f", &score);
17     }
18     ave = total / n;
19     for (i = 0; i < n; i++)
20         if (a[i] >= ave) 
21             count++;
22     printf("ave = %f, count = %d\n", ave, count);
23 }

 

结果:

Input data: 55 66 77 88 99 100 -1

ave = 80.833333, count = 3

 

四十四、定义含有10个元素的数组,并按顺序和逆序输出数组中各元素的值。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int i, j, t;
 6     int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 7 
 8     for (i = 0; i < 10; i++)
 9         printf("%4d", a[i]);
10     printf("\n");
11     for (i = 9; i >= 0; i++)
12         printf("%4d", a[i]);
13     printf("\n");
14 }

 

结果:

1   2   3   4   5   6   7   8   9   10

10  9   8   7   6   5   4   3   2   1

 

四十五、定义含有10个元素的数组,并将数组中的元素按逆序重新存放后输出。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int i, t, a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 6     
 7     for (i = 0; i < 10; i++)
 8         printf("%4d", a[i]);
 9     printf("\n");
10 
11     for (i = 0; i < 5; i ++)
12     {
13         t = a[i];
14         a[i] = a[9 - i];
15         a[9 - i] = t;
16     }
17     for (i = 0; i < 10; i++)
18         printf("%4d", a[i]);
19     printf("\n");
20 }

 

posted @ 2015-12-07 14:23  zer-o  阅读(547)  评论(0编辑  收藏  举报