C语言成长学习题(六)

二十一、输入一个百分制成绩,输出成绩等级A、B、C、D、E,输入的数据在90~100分为A,80~89分为B,70~79分为C,60~69分为D,0~59分为E,否则显示出错。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int score, temp;
 6     char grade;
 7 
 8     printf("Input score:
");
 9     scanf("%d", &score);
10     if ( score < 0 || score > 100)
11         printf("Error!
");
12     else
13     {
14         temp = score / 10;
15         switch(temp)
16         {
17             case 10:
18             case 9: grade = 'A'; break;
19             case 8: grade = 'B'; break;
20             case 7: grade = 'C'; break;
21             case 6: grade = 'D'; break;
22             default: grade = 'E'; break;
23         }
24         printf("score = %d, grade = %c
", score, grade);
25     }
26 }

 结果:

(1)Input score:

  89

  score = 89, grade = B

(2)Input score:

  105

  Error!

二十二、编写一个含有嵌套switch语句的程序。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int x = 1, y = 10, z = 20, n = 0;
 6 
 7     switch(x)
 8     {
 9         case 1:
10             switch(y)
11             {
12                 case 10: n++; break;
13                 case 11: n++; break;
14             }
15         case 2:
16             switch(z)
17             {
18                 case 20: n++; break;
19                 case 21: n++; break;
20             }
21         case 3:
22             n++; break;
23     }
24     printf("n = %d
", n);
25 }

结果:

n = 2(case 3标号未执行)

二十三、求1+2+3+...+100的值,并将其结果放在变量sum中。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int i, sum = 0;
 6 
 7     for (i = 1; i <=100; i++)
 8         sum = sum + i;
 9     printf("1+2+3+...+100 = %d
", sum);
10 }

二十四、从键盘输入10个学生的成绩,编程实现输出各成绩和平均成绩。

 1 #include <stdio.h>
 2 
 3 void main(void)
 4 {
 5     int i, score, sum = 0;
 6     float ave;
 7 
 8     for (i = 1; i <= 10; i++)
 9     {
10         scanf("%d", &score);
11         printf("%d ", score);
12         sum = sum + score;
13     }
14     printf("
");
15     ave = (float)sum / 10;
16     printf("ave = %f
", ave);
17 }

二十五、在3~100之间所有3的倍数中,找出个位数为2的数。

#include <stdio.h>
 
void main(void)
{
    int i;

    for (i = 3; i <=100; i = i + 3)
        if (i % 10 == 2)
            printf("4d", i);                 //按4个字符位、右对齐形式输出
    printf("
");
}
原文地址:https://www.cnblogs.com/zero-jh/p/5023676.html