第二次作业

1 判断成绩等级。

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

(1)if语句

 

#include<stdio.h>
 int main()
 {
  int a;
  printf("请输入成绩:");
  scanf("%d",&a);
  if(a>100||a<0)
  {
   printf("输入错误");
  }
  else if(a>=90)
  {
   printf("A");
  }
  else if(a<90&&a>79)
  {
   printf("B");
  }
   else if(a<80&&a>69)
  {
   printf("C");
  }
   else if(a<70&&a>59)
  {
   printf("D");\
  }
  else
  {
   printf("E");
  }
  return 0;
 }

实验总结  注意“;”不要丢

(2)switch 语句

#include <stdio.h> 
int main()
 {
     int a;
     printf("请输入成绩:");
     scanf("%d",&a);
     if(a<0||a>100)
     {
     printf("error");
     }
     else   
     switch(a/10)
      {    case 10:
        case 9:printf("A");break;
        case 8:printf("B");break;
        case 7:printf("C");break;
        case 6:printf("D");break;
        default:printf("E"); 
      } 
      return 0;
 }

2.判断整数位数及逆序输出。

输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。

#include <stdio.h> 
int main()
 {
     int a,b,c,d,e,f,g,h;
     printf("请输入一个不多于五位数的正整数:");
     scanf("%d",&a);
     if(a>99999||a<0)
     {
         printf("输入错误"); 
     }
     else if (a<10)
     {
         printf("这是一个一位数 %d",a); 
     }
     else if(a>9&&a<100)
     {
         b=a/10;
         c=a%10;
         d=c*10+b;
         printf("这是一个两位数 %d",d); 
     }
      else if(a>99&&a<1000)
     {
         b=a/100;
         c=a%100/10;
         d=a%100%10;
         e=d*100+c*10+b;
         printf("这是一个三位数 %d",e); 
     }
      else if(a>999&&a<10000)
     {
         b=a/1000;
         c=a%1000/100;
         d=a%1000%100/10;
         e=a%1000%100%10;
         f=e*1000+d*100+c*10+b;
         printf("这是一个四位数 %d",f); 
     } 
      else 
     {
         b=a/10000;
         c=a%10000/1000;
         d=a%10000%1000/100;
         e=a%10000%1000%100/10;
         g=a%10000%1000%100%10;
         h=g*10000+e*1000+d*100+c*10+b;
         printf("这是一个五位数  %d",h); 
     }
     
      return 0;
}
     

3.回文数问题

 给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。

#include <stdio.h> 
int main()
 {
     int a,b,c,d,e,f; 
     printf("请输入一个五位数:");
     scanf("%d",&a);
     b=a/10000;
     c=a%10000/1000;
     d=a%10000%1000/100;
     e=a%10000%1000%100/10;
     f=a%10000%1000%100%10;
     if(b!=f||c!=e)
     {
         printf("不是回文数"); 
     }
    else 
    {
        printf("是回文数"); 
    }
    return 0;
}

4.计算分段函数

y=-x+2.5                         0 <= x < 5

        y=2-1.5(x-3)(x-3)        5 <= x < 10

        y=x/2-1.5                     10 <= x < 20

       输入x的值(x为整数),输出y的值,结果保留3位小数。

#include <stdio.h> 
int main()
 {
     int x;
     float y; 
     printf("请输入一个x值:");
     scanf("%d",&x);
     if(x>=0&&x<5)
     {
         y=-x+2.5;
         printf("y等于%.3f",y);
     }
     else if(x>=5&&x<10)
     {
         y=2-1.5*(x-3)*(x-3);
         printf("y等于%.3f",y);
     }
     else if(x>=10&&x<20)
     {
         y=x/2-1.5;
         printf("y等于%.3f",y);
     }
     else 
     {
         printf("输入的x值不在定义域"); 
     }
     return 0;
 }

知识点总计:if语句和switch语句的运用 理解多个if语句,if...else if... 和if嵌套

实验总结 : if 和else 下用语句在{}内 , 注意float 对应%f 的使用   %.3f的应用

原文地址:https://www.cnblogs.com/wjm666/p/5954767.html