Python123:统计学生成绩、统计学生平均成绩与及格人数、成绩转换(C语言)

文章目录

      • 1、统计学生成绩
      • 2、统计学生平均成绩与及格人数
      • 3、成绩转换

1、统计学生成绩

题目:本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:

  • 大于等于90分为A;
  • 小于90且大于等于80为B;
  • 小于80且大于等于70为C;
  • 小于70且大于等于60为D;
  • 小于60为E。

输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。

输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

输入样例:

7
77 54 92 73 60 65 69

输出样例:

1 0 2 3 1

代码1:

#include
int main()
{
    int i,N,a=0,b=0,c=0,d=0,e=0;
    double x;
    scanf("%d\n",&N);
    for(i=1;i<=N;i++){
		scanf("%lf",&x);
		if(x<60){
			a=a+1;
		}
        else if(x<70){
            b=b+1;
		}
		else if(x<80){
			c=c+1;
		}
		else if(x<90){
			d=d+1;
		}
		else{
			e=e+1;
		}
	}
	printf("%d %d %d %d %d",e,d,c,b,a);
	return 0;
}

 
代码2:

#include
int main()
{
	int i,n;
    int grade;
	int A=0,B=0,C=0,D=0,E=0;
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d",&grade);
		switch(grade/10)
		{
			case 10:
			case 9: A++;break;
			case 8: B++;break;
			case 7: C++;break;
			case 6: D++;break;
			default: E++;
		}
	}
	printf("%d %d %d %d %d\n",A,B,C,D,E);
    return 0;
}

 
 
 

2、统计学生平均成绩与及格人数

题目:本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入格式:
输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:
average = 成绩均值
count = 及格人数
其中平均值精确到小数点后一位。

输入样例:

5
77 54 92 73 60

输出样例:

average = 71.2
count = 4

代码1:

#include
int main()
{
    int N,i,a=0;
    double s,t=0;
    scanf("%d",&N);
    for(i=1;i<=N;i++)
    {
        scanf("%lf",&s);
        t=t+s;
        if(s>=60)
        {
            a=a+1;
        }
    }
    if(N!=0)
    {
        printf("average = %.1f\n",t/N);
    }
    else
    {
        printf("average = %.1f\n",0.0);
    }
    printf("count = %d",a);
    return 0;
}

 
代码2:


#include
int main()
{
    int i,n,score,sum=0,count=0;
    scanf("%d",&n);
    if(n>0)
    {
        for(i=1;i<=n;i++)
        {
            scanf("%d",&score);
            sum+=score;
            if(score>=60)
            {
                count++;
            }
        }
        printf("average = %.1f\n",1.0*sum/n);
        printf("count = %d\n",count);
    }
    else
    {
        printf("average = %.1f\n",0);
        printf("count = %d\n",0);
    }
    return 0;
}

 
 
 

3、成绩转换

题目:本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:

  • 大于等于90分为A;
  • 小于90且大于等于80为B;
  • 小于80且大于等于70为C;
  • 小于70且大于等于60为D;
  • 小于60为E。

输入格式:
输入在一行中给出一个整数的百分制成绩。

输出格式:
在一行中输出对应的五分制成绩。

输入样例:

90

输出样例:

A

代码1:

#include
int main()
{
    int s,choice;
    scanf("%d",&s);
    choice=s/10;
    switch(choice){
        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");break;
    }
    return 0;
}

 
代码2:

#include 
int main()
{
    int grade;
    scanf("%d",&grade);
    switch(grade/10)
    {
        case 10:
        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");
    }
    return 0;
}

你可能感兴趣的:(c语言,算法,数据结构)