c语言课程设计

c语言课程设计,第1张

//数据文件放在D盘下,名称为1.txt

//格式为:学号 姓名 C语言成绩 数学成绩 物理成绩

//例如:

//001 赵日天 95 88 92

//002 刘斩仙 59 62 73

 

#include <stdio.h>

#include <stdlib.h>

 

typedef struct

{

    char num[8]

    char name[10]

    int cgrade

    int mgrade

    int physics

    float ave

} STUDENT

 

int main()

{

    STUDENT s[50]

    int count=0

    FILE *fp

    char buf[100]

    if((fp=fopen("d:\\1.txt","r"))==NULL)

    {

        printf("Open file falied!")

        return -1

    }

    while(!feof(fp))

    {

        fgets(buf,100,fp)

        sscanf(buf,"%s %s %d %d %d",s[count].num,s[count].name,&s[count].cgrade,&s[count].mgrade,&s[count].physics)

        s[count].ave=(s[count].cgrade+s[count].mgrade+s[count].physics)/3.0

        count++

    }

    fclose(fp)

    printf("共有%d人\n",count)

    int i,j

    for(i=0i<counti++)

    {

        printf("%-5s %-6s %-3d %-3d %-3d %-5.2f\n\n",s[i].num,s[i].name,s[i].cgrade,s[i].mgrade,s[i].physics,s[i].ave)

    }

     

    int max[3]={0,0,0}, min[3]={100,100,100}, sum[3]={0,0,0}

    float ave[3]={0.0}

    int good[3]={0,0,0}, pass[3]={0,0,0}, unpass[3]={0,0,0}

 

    for(i=0i<counti++)

    {

        sum[0]+=s[i].cgrade

        sum[1]+=s[i].mgrade

        sum[2]+=s[i].physics

         

        if(max[0]<s[i].cgrade)   max[0]=s[i].cgrade

        if(max[1]<s[i].mgrade)   max[1]=s[i].mgrade

        if(max[2]<s[i].physics) max[2]=s[i].physics

         

        if(min[0]>s[i].cgrade)   min[0]=s[i].cgrade

        if(min[1]>s[i].mgrade)   min[1]=s[i].mgrade

        if(min[2]>s[i].physics) min[2]=s[i].physics

         

        if(s[i].cgrade>=90)  good[0]++

        else if(s[i].cgrade>=60) pass[0]++

        else    unpass[0]++

         

        if(s[i].mgrade>=90) good[1]++

        else if(s[i].mgrade>=60) pass[1]++

        else    unpass[1]++

         

        if(s[i].physics>=90) good[2]++

        else if(s[i].mgrade>=60) pass[2]++

        else    unpass[2]++

    }

    ave[0]=(float)sum[0]/(float)count

    ave[1]=(float)sum[1]/(float)count

    ave[2]=(float)sum[2]/(float)count

    printf("\nC语言成绩:\n")

    printf("最高分: %d   最低分: %d   平均分: %.2f",max[0],min[0],ave[0])

    printf("\n优秀: %d   及格: %d   不及格: %d",good[0],pass[0],unpass[0])

    printf("\n\n数学成绩:\n")

    printf("最高分: %d   最低分: %d   平均分: %.2f",max[1],min[1],ave[1])

    printf("\n优秀: %d   及格: %d   不及格: %d",good[1],pass[1],unpass[1])

    printf("\n\n物理成绩:\n")

    printf("最高分: %d   最低分: %d   平均分: %.2f",max[2],min[2],ave[2])

    printf("\n优秀: %d   及格: %d   不及格: %d",good[2],pass[2],unpass[2])

     

    int* all_score

    all_score=(int*)malloc(sizeof(int)*count)

    for(i=0i<counti++)

    {

        all_score[i]=s[i].cgrade+s[i].mgrade+s[i].physics

    }

    //排序

    int t

    for(i=0i<count-1i++) 

    {

        for(j=0j<count-1-ij++)

        {

            if(all_score[i]<all_score[i+1])

            {

                i=all_score[i]

                all_score[i]=all_score[i+1]

                all_score[i+1]=i

            }

        }

    }

    printf("\n总成绩最高到低为:\n")

    for(i=0i<counti++)

    {

        printf("%d ",all_score[i])

    }

     

    return 0

}

什么是C语言?C语言的简介。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10957412.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存