成绩问题c语言,C语言成绩判断

本文目录一览:

c语言,成绩统计问题

你好!

avergae ,程序后面的 avergae 拼写错了,修改后的:

#includestdio.h

int main()

{

 int i,max,sum=0;

 float avergae;

 int a[10];

 for(i=1;i=9;i++)

 {

  scanf(“%d”,a[i]);

  sum+=a[i];

 }

 max=a[0];

 for(i=1;i=9;i++)

 {

  if(a[i]max)

  {

   max=a[i];

  }

 }

 avergae=sum/10.0;

 if(a[i]avergae)

 printf(“%d,%f,%d”,max,avergae,a[i]);

 printf(“\n”);

}

学生成绩处理问题(c语言)

#include stdio.h

#include stdlib.h

#include string.h

struct STUDENT{

    float score[3];

    long id;

    char names[20];

};

typedef struct STUDENT student;//simplify the struct STUDENT

typedef struct STUDENT *Pstudent;

     

void print();

void append();

void course_total();

void student_total();

void score_sort(int (*compare)(float a,float b));

void number_sort();

void name_sort(Pstudent names_[30]);

void number_search();

void name_search();

void statistic(Pstudent scores_[30]);

     

void show(int i);

     

int ascend(float a, float b){

    if(ab) return 1;

    else  return 0;

}

int descend(float a, float b){

    if(ab)  return 1;

    else  return 0;

}

int n;//the number of students

     

int flg=1;//true print the result

student *stuArray[30];//the global variable can simplify the compute

     

int again=1;//whether to continue

int main(){

    int i;

    printf(“Input student number(n30):”);

    scanf(“%d”,n);

    int choice;

    while(again){

        print();

        scanf(“%d”,choice);

        switch(choice){

            case 1:

                append();

                break;

            case 2:

                course_total();//use flag to define whether to print

                break;

            case 3:

                student_total();

                break;

            case 4:

                score_sort(descend);

                if(flg){

                    printf(“Sort in descending order by total score of every student:\n”);

                    printf(“NO\tName\tMT\tEN\tPH\tSUM\tAVER\n”);

                    for(i=0;in;i++)

                        show(i);

                }

                break;

            case 5:

                score_sort(descend);

                if(flg){

                    printf(“Sort in ascending order by total score of every student:\n”);

                    printf(“NO\tName\tMT\tEN\tPH\tSUM\tAVER\n”);

                    for(i=0;in;i++)

                        show(n-1-i);

                }

                break;

            case 6:

                number_sort();

                break;

            case 7:

                name_sort(stuArray);

                break;

            case 8:

                number_search();

                break;

            case 9:

                name_search();

                break;

            case 10:

                statistic(stuArray);

                break;

            case 0:

                again=0;

                printf(“End of program!\n”);

                break;

            default:

                printf(“Input error!\n”);

                break;

        }

     

    }

return 0;

}

     

void print(){

    printf(“1.Append record\n”);

    printf(“2.Calculate total and average score of every course\n”);

    printf(“3.Calculate total and average score of every student\n”);

    printf(“4.Sort in descending order by total score of every student\n”);

    printf(“5.Sort in ascending order by total score of every student\n”);

    printf(“6.Sort in ascending order by number\n”);

    printf(“7.Sort in dictionary order by name\n”);

    printf(“8.Search by number\n”);

    printf(“9.Search by name\n”);

    printf(“10.Statistic analysis\n”);

    printf(“Please Input your choice:”);

}

void append(){

    int i;

    printf(“Input student’s ID,name and score:\n”);

    for(i=0;in;i++){////the most significant part malloc the memory when appending record

        stuArray[i] = (student *)malloc(sizeof(student));

        scanf(“%ld%s”,stuArray[i]-id,stuArray[i]-names);

        scanf(“%f”,stuArray[i]-score[0]);

        scanf(“%f”,stuArray[i]-score[1]);

        scanf(“%f”,stuArray[i]-score[2]);

    }

}

void course_total(){

    int i;

    float sum0=0.0,sum1=0.0,sum2=0.0;

    for(i=0;in;i++){

        sum0+=stuArray[i]-score[0];

        sum1+=stuArray[i]-score[1];

        sum2+=stuArray[i]-score[2];

    }

    if(flg){

        printf(“course %d:sum=%.0f,aver=%.0f\n”,1,sum0,sum0/n);

        printf(“course %d:sum=%.0f,aver=%.0f\n”,2,sum1,sum1/n);

        printf(“course %d:sum=%.0f,aver=%.0f\n”,3,sum2,sum2/n);

    }

}

void student_total(){

    float total[30]={0.0};

    int i;

    for(i=0;in;i++){

        total[i]=stuArray[i]-score[0]+stuArray[i]-score[1]+stuArray[i]-score[2];

    }

    if(flg){

        for(i=0;in;i++)

            printf(“student %d:sum=%.0f,aver=%.0f\n”,i+1,total[i],total[i]/3);

    }

}

void score_sort(int (*compare)(float a,float b)){

    int i,j;

    float total[30]={0.0};

    for(i=0;in;i++){

        total[i]=stuArray[i]-score[0]+stuArray[i]-score[1]+stuArray[i]-score[2];

    }

    for(i=0;in;i++){

        for(j=0;j=i;j++)

            //if((*compare)(stuArray[i]-score[0]+stuArray[i]-score[1]+stuArray[i]-score[2],stuArray[j]-score[0]+stuArray[j]-score[1]+stuArray[j]-score[2])==0){

            if((*compare)(total[i],total[j])==0){//just swap the pointer it simplify the program

                  student *tmp=(student *)malloc(sizeof(student));

                  memcpy(tmp,stuArray[i],sizeof(student));

                  memcpy(stuArray[i],stuArray[j],sizeof(student));

                  memcpy(stuArray[j],tmp,sizeof(student));

        }//memcpy- copy the hole the memory

    }

     

}

void number_sort(){//没必要传参

    int i,j;

    for(i=0;in;i++){

        for(j=0;ji;j++)

            if(stuArray[i]-idstuArray[j]-id){

                  student *tmp=(student *)malloc(sizeof(student));

                  memcpy(tmp,stuArray[i],sizeof(student));

                  memcpy(stuArray[i],stuArray[j],sizeof(student));

                  memcpy(stuArray[j],tmp,sizeof(student));

            }

    }

    if(flg){

        printf(“Sort in ascending order by number:\n”);

        printf(“NO\tName\tMT\tEN\tPH\tSUM\tAVER\n”);

        for(i=0;in;i++)

            show(i);

    }

}

void name_sort(Pstudent names_[30]){

    int i,j;

    for(i=0;in;i++){

        for(j=0;j=i;j++)

            if(strcmp(names_[i]-names,names_[j]-names)0){

                  student *tmp=(student *)malloc(sizeof(student));

                  memcpy(tmp,stuArray[i],sizeof(student));

                  memcpy(stuArray[i],stuArray[j],sizeof(student));

                  memcpy(stuArray[j],tmp,sizeof(student));

            }

    }

    if(flg){

        printf(“Sort in dictionary order by name:\n”);

        printf(“NO\tName\tMT\tEN\tPH\tSUM\tAVER\n”);

        for(i=0;in;i++)

            show(i);

    }

}

void number_search(){

    long query;

    printf(“Input the number you want to search:”);

    scanf(” %ld”,query);

    int i;

    score_sort(descend);//100 98 87

    for(i=0;in;i++){

        if(stuArray[i]-id==query)

            break;

    }

    if(i!=n){

        printf(“%d\t”,i+1);

        show(i);

    }

    else

        printf(“Not found!\n”);

}

void name_search(){

    char query[20];

    score_sort(descend);

    printf(“Input the name you want to search:”);

    scanf(“%s”,query);

    int i;

    for(i=0;in;i++){

        if(!strcmp(query,stuArray[i]-names)){

            break;

        }

    }

    if(i!=n){

        printf(“%d\t”,i+1);

        show(i);

    }

    else

        printf(“Not found!\n”);

}

void statistic(Pstudent scores_[30]){//a pointer array stands for scores

    float MT[30],EN[30],PH[30];

    int i;

    for(i=0;in;i++){

        MT[i]=scores_[i]-score[0];

        EN[i]=scores_[i]-score[1];

        PH[i]=scores_[i]-score[2];

    }

    int sta[6]={0};//means the statistic of every student (60 or 60-70 ….)

    for(i=0;in;i++){

        if(MT[i]60)

            sta[0]++;

        if(MT[i]==100)

            sta[5]++;

        if(MT[i]=60MT[i]=69)

            sta[1]++;

        if(MT[i]=70MT[i]=79)

            sta[2]++;

        if(MT[i]=80MT[i]=89)

            sta[3]++;

        if(MT[i]=90MT[i]=100)

            sta[4]++;

    }

     

    if(flg){

        printf(“For course %d:\n”,1);

        printf(“60\t%d\t%.2f%%\n”,sta[0],sta[0]/(float)n*100);//change n to float

        printf(“60-69\t%d\t%.2f%%\n”,sta[1],sta[1]/(float)n*100);

        printf(“70-79\t%d\t%.2f%%\n”,sta[2],sta[2]/(float)n*100);

        printf(“80-89\t%d\t%.2f%%\n”,sta[3],sta[3]/(float)n*100);

        printf(“90-100\t%d\t%.2f%%\n”,sta[4],sta[4]/(float)n*100);

        printf(“100\t%d\t%.2f%%\n”,sta[5],sta[5]/(float)n*100);

    }

    memset(sta,0,6*sizeof(int));//initialize the sta array

    for(i=0;in;i++){

        if(EN[i]60)

            sta[0]++;

        if(EN[i]==100)

            sta[5]++;

        if(EN[i]=60EN[i]=69)

            sta[1]++;

        if(EN[i]=70EN[i]=79)

            sta[2]++;

        if(EN[i]=80EN[i]=89)

            sta[3]++;

        if(EN[i]=90EN[i]=100)

            sta[4]++;

    }

     

    if(flg){

        printf(“For course %d:\n”,2);

        printf(“60\t%d\t%.2f%%\n”,sta[0],sta[0]/(float)n*100);//change n to float

        printf(“60-69\t%d\t%.2f%%\n”,sta[1],sta[1]/(float)n*100);

        printf(“70-79\t%d\t%.2f%%\n”,sta[2],sta[2]/(float)n*100);

        printf(“80-89\t%d\t%.2f%%\n”,sta[3],sta[3]/(float)n*100);

        printf(“90-100\t%d\t%.2f%%\n”,sta[4],sta[4]/(float)n*100);

        printf(“100\t%d\t%.2f%%\n”,sta[5],sta[5]/(float)n*100);

    }

    memset(sta,0,6*sizeof(int));

    for(i=0;in;i++){

        if(PH[i]60)

            sta[0]++;

        if(PH[i]==100)

            sta[5]++;

        if(PH[i]=60PH[i]=69)

            sta[1]++;

        if(PH[i]=70PH[i]=79)

            sta[2]++;

        if(PH[i]=80PH[i]=89)

            sta[3]++;

        if(PH[i]=90PH[i]=100)

            sta[4]++;

    }

     

    if(flg){

        printf(“For course %d:\n”,3);

        printf(“60\t%d\t%.2f%%\n”,sta[0],sta[0]/(float)n*100);//change n to float

        printf(“60-69\t%d\t%.2f%%\n”,sta[1],sta[1]/(float)n*100);

        printf(“70-79\t%d\t%.2f%%\n”,sta[2],sta[2]/(float)n*100);

        printf(“80-89\t%d\t%.2f%%\n”,sta[3],sta[3]/(float)n*100);

        printf(“90-100\t%d\t%.2f%%\n”,sta[4],sta[4]/(float)n*100);

        printf(“100\t%d\t%.2f%%\n”,sta[5],sta[5]/(float)n*100);

    }

}

     

void show(int i){

     

    printf(“%ld\t%s\t”,stuArray[i]-id,stuArray[i]-names);//order is the id after sort

    printf(“%.0f\t%.0f\t%.0f\t”,stuArray[i]-score[0],stuArray[i]-score[1],stuArray[i]-score[2]);

    float sum=stuArray[i]-score[0]+stuArray[i]-score[1]+stuArray[i]-score[2];

    printf(“%.0f\t%.0f\n”,sum,sum/3);

}

用C语言编写一个程序,输入一个成绩,判断该成绩是否及格。

#include “stdio.h”

int main()

{

int score;

printf(“请输入一个成绩:”);

scanf(“%d”,score);

if(score60  score=100)

printf(“成绩合格\n”);

else if(score60  score=0)

printf(“成绩不合格\n”);

else

printf(“输入的成绩有误\n”);

}

C语言编程 关于成绩的问题

include”stdio.h”

main( )

{

char a1;

scanf(“%c”,a1);

if(a1=’a’||a1=’A’||a1=’b’||a1=’A’)

prinf(“s”,“良好”);

else if(a1=’c’||a1=’C’||a1=’d’||a1=’D’)

printf(“s”,“及格”);

printf(”s”,“不及格”);

}

必须说明:我刚申请的这个东西,而且我对C、c++也是初学者。开始没看到底下有高手答了已经,献丑了,我可能不对,这是我自己编的第二个程序,初学者,,不要笑我,谢谢!

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/295287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-26 17:15
下一篇 2024-12-26 17:15

相关推荐

  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • 如何解决WPS保存提示会导致宏不可用的问题

    如果您使用过WPS,可能会碰到在保存的时候提示“文件中含有宏,保存将导致宏不可用”的问题。这个问题是因为WPS在默认情况下不允许保存带有宏的文件,为了解决这个问题,本篇文章将从多个…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Python输入姓名成绩输出等级

    在这个项目中,我们需要输入一个学生的姓名和成绩,然后根据成绩给出等级。 一、获取用户输入 首先,我们需要获取用户输入的姓名和成绩。可以使用Python中的input()函数,让用户…

    编程 2025-04-29
  • Java Thread.start() 执行几次的相关问题

    Java多线程编程作为Java开发中的重要内容,自然会有很多相关问题。在本篇文章中,我们将以Java Thread.start() 执行几次为中心,为您介绍这方面的问题及其解决方案…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python爬虫乱码问题

    在网络爬虫中,经常会遇到中文乱码问题。虽然Python自带了编码转换功能,但有时候会出现一些比较奇怪的情况。本文章将从多个方面对Python爬虫乱码问题进行详细的阐述,并给出对应的…

    编程 2025-04-29
  • NodeJS 建立TCP连接出现粘包问题

    在TCP/IP协议中,由于TCP是面向字节流的协议,发送方把需要传输的数据流按照MSS(Maximum Segment Size,最大报文段长度)来分割成若干个TCP分节,在接收端…

    编程 2025-04-29

发表回复

登录后才能评论