首页 > 代码库 > 第二次作业

第二次作业

  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 else12 {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 else30 {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     else12     {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         else48         {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     else17     {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位小数

第二次作业