第二次作业


  1. 判断成绩等级。

    给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现



1
#include<stdio.h> 2 int main() 3 { 4 int a; 5 printf("输入你的成绩:\n"); 6 scanf("%d",&a); 7 if (a>100||a<0) 8 { 9 printf("输入错误\n"); 10 } 11 else 12 { 13 if(a<=100&&a>=90) 14 { 15 printf("A"); 16 } 17 else if(a<90&&a>=80) 18 { 19 printf("B"); 20 } 21 else if(a<80&&a>=70) 22 { 23 printf("C"); 24 } 25 else if(a<70&&a>=60) 26 { 27 printf("D"); 28 } 29 else 30 { 31 printf("E"); 32 } 33 } 34 return 0; 35 }

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int x;
 5     printf("输入成绩");
 6     scanf("%d",&x);
 7     switch(x/10)
 8     {
 9         case 10:printf("A");break;
10         case 9:printf("A");break;
11         case 8:printf("B");break;
12         case 7:printf("C");break;
13         case 6:printf("D");break;
14         case 5:
15         case 4:
16         case 3:
17         case 2:
18         case 1:
19         case 0:printf("E");break;
20         default:printf("error");
21     }
22     return 0;
23 }

评论:成绩输入时注意输错成绩的情况,做好预处理。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b,c,d,e,f,g;
 5     printf("ÊäÈëÒ»¸öÎåλÊý:\n");
 6     scanf("%d",&a);
 7     if(a/10000==0)
 8     {
 9         printf("不符合要求!");
10     }
11     else
12     {
13         if(a/10000!=0)
14         {
15             b=a/10000;
16             c=a/1000%10;
17             d=a/100%10;
18             e=a/10%10;
19             f=a%10;
20             g=10000*f+1000*e+100*d+10*c+b;
21             printf("这是五位数%d",g);            
22         }
23         else if(a/1000!=0)
24         {
25             b=a/1000;
26             c=a/100%10;
27             d=a/10%10;
28             e=a%10;
29             g=1000*e+100*d+10*c+b;
30             printf("这是四位数%d",g);
31         }
32         else if(a/100!=0)
33         {
34             b=a/100;
35             c=a/10%10;
36             d=a%10;
37             g=100*d+10*c+b;
38             printf("这是三位数%d",g);
39         }
40         else if(a/10!=0)
41         {
42             b=a/10;
43             c=a%10;
44             g=10*c+b;
45             printf("这是二位数%d",g);
46         }
47         else
48         {
49             g=a;
50             printf("这是一位数%d");
51         }
52     }
53     return 0;
54  } 

结论:注意如果不符合要求的输出项,要设置为前提。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int  a,b,c,d,e,f;
 5     printf("输入一个五位数",a);
 6     scanf("%d",&a);
 7     b=a/10000;
 8     c=a/1000%10;
 9     d=a/100%10;
10     e=a/10%10;
11     f=a%10;
12     if(b==f&&c==e)
13     {
14         printf("这是回文数");
15     }
16     else
17     {
18         printf("这不是回文数");
19     }
20     return 0;
21  } 

结论:第5位和第一位相同,第2位和第4位相同,先运算在判断。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     float x,y;
 5     printf("d");
 6     scanf("%d",&x);
 7     if(x<5&&x>=0)
 8     {
 9         y=-x+2.5;
10         printf("%.3f",y);
11     }
12     else if(x<10&&x>=5)
13     {
14         y=2-1.5*(x-3)*(x-3);
15         printf("%.3f",y);
16      } 
17     else if (x<20&&x>=10)
18     {
19         y=(x/2)-1.5;
20         printf("%.3f",y);
21     }
22     return 0;
23  } 

结论:最后结果注意格式.3f以保留3位小数

原文地址:https://www.cnblogs.com/yeqingsong/p/5958351.html