• 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("
    ");
    }
  • 相关阅读:
    面试突击44:volatile 有什么用?
    面试突击42:synchronized和ReentrantLock有什么区别?
    面试突击45:为什么要用读写锁?它有什么优点?
    微信内打开链接,跳转到公众号关注页面
    阿里流水线使用教程
    windows自带 扫描修复系统
    20年前的网站页面
    微服务之 Consul 单机版到集群搭建详细步骤【转】
    iOS修改项目名称
    从零开始学YCFramework之初步
  • 原文地址:https://www.cnblogs.com/zero-jh/p/5023676.html
Copyright © 2020-2023  润新知