提示用户分别输入10个学生的成绩(百分制), 最后输出各个学员序号对应的成绩。

提示用户分别输入10个学生的成绩(百分制), 最后输出各个学员序号对应的成绩。
题目1:输出学员成绩90-100为优秀,75-89为良好,60-74为及格,60以下为不及格。
题目2:输出排序后成绩(百分制)
题目3:该班级所有学生,有一名优秀该班级加2分,有一名良好该班级加1分,有一名不及格该班级-2分 。班级分数12分及以上为优秀班级,班级分数5-11为正常班级,5分以下或不及格学生大于3人则该班级为落后班级。请输出该班级为 什么等级的班级。
要求:
3道题目 建立同一个文件中运行,输出3个题目答案
1、使用数组定义
2、建立输入错误判定机制
3、使用循环赋值
4、使用分支语句
5、输出序号需与成绩对应

 

#include <stdio.h>


int main(int argc, const char * argv[])

{

    int score[10];//所有成绩

    int student;//学生个数

    int score1;//成绩

    int A=0,B=0,C=0,D=0;

    int grade;

    

    //输入成绩;

    printf("~~~请输入班集学生的个数:~~~~~~\n");

    scanf("%d",&student);

    

    //接接所有学生的成绩。

    for (int i=0; i<student; i++)

    {

        printf("请输入第%d个学生的成绩:\n",i+1);

        scanf("%d",&score1);

        score[i]=score1;

    }

    

    //输出所有学生的成绩。

    for (int i=0; i<student; i++)

    {

        printf("%d\t",score[i]);

    }

    printf("\n");

    

    for (int i=0; i<student; i++)

    {

        //判断成绩

        if (score[i]>=90&&score[i]<=100)

        {

            printf("%d 成绩为优秀\n",score[i]);

            A++;

            

        }

        else if (score[i]>=75&&score[i]<90)

        {

            printf("%d 成绩为良好\n",score[i]);

            B++;

        }

        else if (score[i]>=64&&score[i]<75)

        {

            printf("%d 成绩为及格\n",score[i]);

            C++;

        }

        else if (score[i]>0&&score[i]<64)

        {

            printf("%d 成绩为不及格\n",score[i]);

            D++;

        }

//67 78 90 78 49 58 73 

    }

    printf("成绩优秀的学生共%d\n",A);

    printf("成绩良好的学生共%d\n",B);

    printf("成绩及格的学生共%d\n",C);

    printf("成绩不及格的学生共%d\n",D);

    grade=A*2+B+C*2-D;

    if (grade>=12)

    {

        printf("班集得分是:%d  <优秀班级>!\n",grade);

    }

    else if (grade>=5&&grade<12)

    {

        printf("班集得分是:%d 良好班级\n",grade);

    }

    else if (grade<5||D<3)

    {

        printf("班集得分是:%d落后班级\n",grade);

    }

    

    

    //按成绩排名输出10个学生的信息。

    for (int i=1; i<student; i++)

    {

        for (int j=0; j<student-i; j++)

        {

            if (score[j]<score[j+1])

            {

                int temp=score[j];

                score[j]=score[j+1];

                score[j+1]=temp;

            }

        }

    }

    printf("成绩从高到低排序是:");

    for (int i=0; i<student; i++)

    {

        printf("%d\t",score[i]);

    }

    

    

    

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值