设为首页 加入收藏

TOP

统计计算学生成绩类问题汇总(一)
2018-10-21 18:09:14 】 浏览:955
Tags:统计 计算 学生 成绩 问题 汇总

(注:暂时先记录这些问题,后期再持续更新)

1,输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的学生人数。

    int count,i,n;  //count 为记录不及格成绩的个数
    double grade,total;  //grade 存放输入的成绩,total保存成绩之和
    printf("Enter n:");
    scanf("%d",&n);  //输入学生人数n 
    total = 0;
    count = 0;
    for(i=1;i<=n;i++){
        printf("Enter grade #%d:",i);
        scanf("%lf",&grade);  //输入第i个成绩
        total = total + grade;
        if(grade<60){  //统计不及格的学生人数 
            count++;
        } 
    } 
    printf("Grade average = %.2f\n",total/n);
    printf("Number of failures = %d\n",count);
    return 0; 

 

 

2,输入一批学生的成绩,以负数作为结束标志,计算平均成绩,并统计不及格人数。

    int count,num;  //count 为记录不及格成绩的个数;num 为记录输入的个数 
    double grade,total;  //grade 存放输入的成绩,total保存成绩之和
    num = 0;
    total = 0;
    count = 0;
    printf("Enter grades:");
    scanf("%lf",&grade);
    while(grade>=0){
        total = total+grade;  //累加成绩
        num++;  //计数
        if(grade<60)
            count++;
        scanf("%lf",&grade);  //读入一个新数据,为下次循环做猪呢比 
    }
    if(num != 0){
        printf("Grade average = %.2f\n",total/num);
        printf("Number of failures is %d\n",count);
    }
    else
        printf("Grade average is 0\n");
    return 0; 

 

 

3,从输入的n个成绩中选出最高分,用for语句实现。

    int i,mark,max,n;
    printf("Enter n:");
    scanf("%d",&n);  //输入数据个数 
    printf("Enter %d marks:",n);
    scanf("%d",&mark);  //读入第一个成绩
    max = mark;
    for(i=1;i<n;i++){
        scanf("%d",&mark);
        if(max<mark)
            max = mark;
    } 
    printf("Max = %d\n",max);
    return 0;

 

注:若输入的一批以负数结束的成绩中选出最高分,可以用while语句实现。

 

4,输入n个学生的成绩信息,计算并输出每个学生的个人平均成绩(结构变量作为函数参数)。

struct student{  //学生信息结构定义 
    int num;  //学号 
    char name[10];  //姓名
    int computer,english,math;  //三门课程成绩
    double average;  //个人平均成绩 
};
double count_average(struct student s);  //函数声明,计算个人平均成绩
int main(void)
{
    int i,n;
    struct student s1;  //定义结构变量
    printf("Input n:");
    scanf("%d",&n);
    printf("Input the student's number,name,course scores\n");
    for(i=1;i<=n;i++){
        printf("No.%d:",i);
        scanf("%d%s%d%d%d",&s1.num,&s1.name,&s1.math,&s1.english,&s1.computer);  
        s1.average = count_average(s1);  //函数调用,结构变量作为函数参数
        printf("num:%d,name:%s,average:%.2lf\n",s1.num,s1.name,s1.average); 
    } 
    return 0;
} 

double count_average(struct student s)
{
    return (s.math + s.english + s.computer)/3.0;
}

 

 

5,输入n(n<50)个学生的成绩信息,按照学生的个人平均成绩从高到低输出他们的信息。

struct student{  //学生信息结构定义 
    int num;  //学号 
    char name[10];  //姓名
    int computer,english,math;  //三门课程成绩
    double average;  //个人平均成绩 
};
int main(void)
{
    int i,index,j,n;  
    struct student students[50],temp; //定义结构数组
    double count_average(struct student s);
    
    /* 输入*/
    printf("Input n:");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        printf("Input the info of No.%d:\n",i+1);
        printf("number:");
        scanf("%d",&students[i].num);
        printf("name:");
        scanf("%s",&students[i].name);
        printf("math.score:");
        scanf("%s",&students[i].math);
        printf("english.score:");
        scanf("%s",&a
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言简明数据类型指南 下一篇判断素数类问题汇总

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目