c语言成绩等级编写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言成绩等级编写相关的知识,希望对你有一定的参考价值。

给出一个百分制成绩《要求输出成绩等级A B C D E.90分以上为a 80—89为b 70_79为c 60-69为d 60分以下为e.当输入胡数据大于100或小于0时通知用户"输入数据错误“,程序结束的分别恋情if switch 加以实现

#include <stdio.h>
int main()

int score ;
printf("input a score: ");
scanf("%d",&score );
if ( score >100 || score<0 )
printf("输入数据错误\\n" );
else

        switch( score/10 )
        
case 9: case 10:
printf("A\\n"); break;
case 8:
printf("B\\n"); break;
case 7:
printf("C\\n"); break;
case 6:
printf("D\\n"); break;
default:
printf("E\\n"); break;
        

return 0;
参考技术A #include<stdio.h>
int main()

int point;
char ch;
while(scanf("%d",&point),point<0||point>100)

printf("输入数据错误!!!\\n");
printf("请重新输入:");
while((ch=getchar())!='\\n')
continue;

switch(point/10)

case 10:
printf("成绩等级为A\\n");
break;
case 9:
printf("成绩等级为A\\n");
break;
case 8:
printf("成绩等级为B\\n");
break;
case 7:
printf("成绩等级为C\\n");
break;
case 6:
printf("成绩等级为D\\n");
break;
default:
printf("成绩等级为E\\n");
break;

return 0;

参考技术B #include <stdio.h>

// 声明getGradeLevel 函数
char getGradeLevel (float grade);

int main ()

         // 声明用于存储成绩的变量 grade,其初始值为
         float grade = -1;
         // 声明用于存储成绩等级的 char 型变量gradeLevel ,其初始值为’’
         char gradeLevel = '0';

        
         // 提示用户并从键盘输入1 个分数, 赋值给grade
         printf(" 请输入一个分数: ");
         // 赋值给grade
         scanf("%f" , &grade);
 
 if( grade < 0 || grade > 100)
 
 printf("输入数据错误\\n");
 
 else
 
 // 计算成绩等级
 gradeLevel = getGradeLevel (grade);
 // 输出成绩及其等级
 printf(" 成绩等级为 %c \\n", gradeLevel);
      

         return 0;


// 函数原型
// switch实现
char getGradeLevel(float grade)
        switch(((int)grade)/10)
        
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
                return 'E';
                break;
        case 6:
                return 'D';
                break;
        case 7:
                return 'C';
                break;
        case 8:
                return 'B';
                break;
        case 9:
        case 10:
                return 'A';
                break;
        default: return'0';
        
        return'0';


/*
// if 实现
char getGradeLevel (float grade)
         if ( 0<=grade && grade <60)
        
                 return 'E' ;
        
         else if ( 60<=grade && grade <70)
        
                 return 'D' ;
        
         else if ( 70<=grade && grade <80 )
        
                 return 'C' ;
        
         else if ( 80<=grade && grade <90 )
        
                 return 'B' ;
        
         else 
        
                 return 'A' ;
        
 
*/

程序运行结果如下:


请采纳

C语言第二次作业

     一、实验内容          

1-1 实验要求:判断成绩等级。

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

if语句

#include<stdio.h>
int main()
{
    int grade;
    printf("请输入成绩");
    scanf("%d",&grade);
    if(grade>100||grade<0)
    {
        printf("数据错误"); 
    }
    else if(grade>=90)
    {
        printf("A");
    }
    else if(grade>=80)
    {
        printf("B");
    }
    else if (grade>=70)
    {
        printf("C");
    }
    else if(grade>=60)
    {
        printf("D");
    }
    else 
    {
        printf("E");
    }
    return 0;
 }  
技术分享
总结:没考虑全多种情况,注意大括号的匹配问题。


switch语句
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int grade;
    printf("请输入分数");
    scanf("%d",&grade);
    if(grade>100||grade<0)
    {
        printf("数据错误");
        exit(0);
    }
    switch(grade/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");
    }
}
            

技术分享

总结:用嵌套语句更简便,注意语法上合法的关系式在逻辑上不一定是正确的。

      switch语句的穿透性,没有break,则会顺序执行。

 

 

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

#include<stdio.h>
int main()
{
    long int num;
    int a,b,c,d,e;
    printf("请输入不多于五位的正整数");
    scanf("%d",&num);
    e=num/10000;
    d=(num-e*10000)/1000;
    c=(num-e*10000-d*1000)/100;
    b=(num-e*10000-d*1000-c*100)/10;
    a=num-e*10000-d*1000-c*100-b*10;
    if(100000>num&&num>=10000)
    {
        printf("此数为5位数\\n");
        printf("倒序数为%d%d%d%d%d\\n",a,b,c,d,e);
    }
    else if(10000>num&&num>=1000)
    {
        printf("此数为4位数\\n");
        printf("倒序数为%d%d%d%d\\n",a,b,c,d);
    }
    else if(1000>num&&num>=100)
    {
        printf("此数为3位数\\n");
        printf("倒序数为%d%d%d\\n",a,b,c);
    }
    else if(100>num&&num>=10)
    {
        printf("此数为2位数\\n");
        printf("倒序数为%d%d\\n",a,b);
    }
    else if(10>num&&num>=0)
    {
        printf("此数为1位数\\n");
        printf("倒序数为%d\\n",a);
    }
    else
    {
        printf("error\\n");
    }
    
}
技术分享
总结:学会且和并的表示方法。


1-3实验要求:
回文数问题    给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。
#include<stdio.h>
int main()
{
    long a,b,c,d,x;
    printf("请输入五位数");
    scanf("%d",&x);
    d=x/10000;
    c=x%10000/1000;
    b=x%100/10;
    a=x%10;
    if(a==d&&b==c)
    {
        printf("此数是一个回文数\\n");
    }
    else
    {
        printf("此数不是回文数\\n");
         
    }
    return 0; 
     
}

技术分享

总结:注意==和=的区别。

 

1-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(0<=x&&x<5)
    {
        y=-x+2.5;
    }
    else if(5<=x&&x<10)
    {
        y=2-1.5*(x-3)*(x-3);
    }
    else if(10<=x&&x<20)
    {
        y=x/2-1.5;
    }
    printf("%.3f\\n",y);
    return 0;
}
技术分享
总结:
 实型与整型常量的使用,如何保留指定位数的小数,*不能省略

           

 

 

 




 

 

 

以上是关于c语言成绩等级编写的主要内容,如果未能解决你的问题,请参考以下文章

怎么样用“C语言”判断输入的学生成绩的等级?

c语言:要求按照考试成绩的等级输出百分制分数段,成绩的等级由键盘输入。

c语言编程题目求解

C语言 函数 求全班成绩的等级?

初学C语言,编一个成绩判断的程序,有点问题

php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。