第二实验

  第一个成绩

 # include <stdio.h>
 # include <stdlib.h>
int main()
{
    int x;
    printf("输入分数确定等级
");
    scanf("%d",&x);
    if(x<0||x>100)
     {
         printf("你输错了
");
         exit(0);
     } 
    switch(x/10)
    {
    case 10:
    case  9:
    printf("A
");         break;
    case 8:
    printf("B
");         break;
    case 7:
    printf("C
");         break;
    case 6:
    printf("D
");         break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case  0:
        printf("E
");      break;
    }
   return 0;    
    }

注:break后加分号

   成绩2

# include<stdio.h>
  int main()
 {
     int x;
     printf("输入分数判断等级
");
     scanf("%d",&x);
     if(x<0||x>100)
     {
      printf(
"输入错误 ");
}
else if (x>=90) {
printf(
"A");
}
else if(x>=80) {
printf(
"B");
}
else if(x>=70) {
printf(
"C");
}
else if(x<=60) {
printf(
"E");
}
return 0; }

注:else if后的括号不加分号

第二个五位数输出


# include <stdio.h>
# include<stdlib.h>
int main()
{
    long int x,y,a,b,c,d,e;
    printf("输入整数
");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000*10;
    c=x%10000%1000/100*100;
    d=x%10000%1000%100/10*1000;    
e=x%10000%1000%100%10*10000; if(x/100000!=0||x/10<0||x<0) { printf("输出错误 ");exit(0); } else if (x/10000!=0) { y=e+d+c+b+a; printf ("这个数为五位整数且输出为%ld ",y); } else if (x/1000!=0) { a=x/1000; b=x%1000/100*10; d=x%1000%100%10*1000; c=x%1000%100/10*100; y=d+c+b+a; printf("这个数为四位整数且输出为%ld ",y); } else if (x/100!=0) { a=x/100; b=x%100/10*10; c=x%100%10%10*100; y=c+b+a; printf("这个数为三位整数且输出为%ld ",y); } else if (x/10!=0) { a=x/10; b=x%10*10; y=b+a; printf("这个数为两位整数且输出为%ld ",y); } else if (x/10==0) { y=x; printf("这个数为一位整数且输出为%ld ",y); } return 0; }

注:计算数的时候一定小心出错,还有加 ;

第三个回文数

# 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 (a/100000!=0||a/10000==0||a/10<0)
          {
                printf("输入有问题
");
           }
          else if(b==f&&c==e) 
          {  
                 printf ("这个数为回文数
");    
           }
                 else
                     {
                          printf ("这个数不是回文数
");
                      }
          return 0;
    }
                    

注:格式对齐

第四个函数

 # include <stdio.h>
int  main ()
{
          int  a;
          double b;
          printf("输入x的值
");
          scanf("%d",&a);
          if(a<0||a>=20)
          {
              printf("输入错误
");
          }
          if(a>=0&&a<5)
          {
              b=-a+2.5;
              printf("输出的值为%.3f
",b);}
          if (a>5&&a<10)
          {
              b=2-1.5*(a-3)*(a-3);
              printf("输出为%.3f
",b);}
          if (a>10&&a<20)
          {
              b=a/2.0-1.5;
              printf("输出为%.3f
",b);}
          return 0;    
              
    }

注:小数为.3 还有注意类型;

知识点总结:

算数运算符,关系运算符,逻辑运算符优先级由高到低;

在if else中if后必须要加括号在if的嵌套语句中共有两种情况一种是包含if语句一种是else中加入if语句;

条件运算符表达式1?表达式2:表达式3;

switch....case语句中switch后一般为整型或字符型且case后各值不相同;

问题:出现运行错误 输入的变量有问题需要更改变量:

     结构错误     少加括号或分号

     逻辑结构     在if语句中else错误需要删除或添加;  

原文地址:https://www.cnblogs.com/saber114567/p/5952490.html