课程任务C程序设计课程-电子信息 第九次实验任务

本篇文章笔者在上海吃饭的时候突然想到的...之前就有想写几篇关于课程任务的笔记,所以回家到之后就奋笔疾书的写出来发表了

    任务1:

      某班有最多不超过30人(具体人数由键盘输入)参加某门课程的测验,用一维数组作函数参数编程实现如下学生成就管理:
(1)录入每个学生的学号和测验成就;
(2)盘算课程的总分战争均分;
(3)按成就由高到低排挤名次表;
(4)按学号由小到大排挤成就表;
(5)按学号查询学生排名及其测验成就;
(6)按优秀(90~100)、良好(70~89)、合格(60~69)、不合格(0~59)5个类别,统计每个类别的人数及其所占的百分比;
(7)输出每个学生的学号、测验成就,课程总分战争均分。

    

    我的程序:

    

    每日一道理
微笑着,去唱生活的歌谣,不要埋怨生活给予了太多的磨难,不必抱怨生命中有太多的曲折。大海如果失去了巨浪的翻滚,就会失去雄浑;沙漠如果失去了飞沙的狂舞,就会失去壮观。人生如果仅去求得两点一线的一帆风顺,生命也就失去了存在的意义。
#include<stdio.h>         
void main()    
{    
    int a[41][2],b,i,j,c,k,m=0,n=0,g=0,l=0;    
    float sum=0.0;    
    printf("请输入班级具体人数\n");    
    scanf("%d",&b);    
    printf("请输入学号和分数\n");    
    for(i=1;i<=b;i++)    
    {    
        for(j=1;j<=2;j++)    
            scanf_s("%d",&a[i-1][j-1]);    
    }    
    printf("\n");    
    for(i=1;i<=b;i++)    
        sum=sum+a[i-1][1];   
    printf("总分是:%.1f\n",sum);  
    sum=sum/b;    
    printf("平均分是:%.1f\n",sum);    
    printf("成就名次表\n");    
    for(k=1;k<=b;k++)    
    {    
        for(i=1;i<=b;i++)    
        {    
            if(a[i-1][1]<a[i][1])    
            {       
                for(j=1;j<=2;j++)    
                {    
                    a[40][j-1]=a[i-1][j-1];    
                    a[i-1][j-1]=a[i][j-1];    
                    a[i][j-1]=a[40][j-1];    
    
                }    
            }    
        }    
    }    
    for(i=1;i<=b;i++)    
    {    
        for(j=1;j<=2;j++)    
            printf("%d ",a[i-1][j-1]);    
        printf("\n");    
    }    
    printf("学号名次表\n");  
    for(k=1;k<=b;k++)    
    {    
        for(i=1;i<=b;i++)    
        {    
            if(a[i-1][0]<a[i][0])    
            {       
                for(j=1;j<=2;j++)    
                {    
                    a[40][j-1]=a[i-1][j-1];    
                    a[i-1][j-1]=a[i][j-1];    
                    a[i][j-1]=a[40][j-1];    
    
                }    
            }    
        }    
    }    
    for(i=1;i<=b;i++)    
    {    
        for(j=1;j<=2;j++)    
            printf("%d ",a[i-1][j-1]);    
        printf("\n");    
    }    
    printf("请输入你想查询的学生学号\n");    
    scanf("%d",&c);    
    for(i=1;i<=b;i++)    
    {    
        if(c==a[i-1][0])    
            printf("学号:%d 名次:%d 成就:%d\n",c,i,a[i-1][1]);    
        if(a[i-1][1]>=90)    
            m++;    
        if(a[i-1][1]<60)   
            n++;    
        if(a[i-1][1]>=60&&a[i-1][1]<=70)  
            g++;  
        if(a[i-1][1]>70&&a[i-1][1]<90)  
            l++;  
    }    
        
    printf("优秀\t良好\t合格\t不合格\n%d\t%d\t%d\t%d\n%.2lf%%\t%.2lf%%\t%.2lf%%\t%.2lf%%\n",m,g,l,n,(double)m*100/b,(double)g*100/b,(double)l*100/b,(double)n*100/b);   
}

    

    运行结果截图:

    课程和任务

    

    
----------------------分割线----------------------
任务2:
  从键盘输入5个整数存入一维数组中,输出最大的数,再按反序输出(要求用指针拜访数组元素)

    

    我的程序:

    

#include<stdio.h>  
void main()  
{  
    int a[5],*b,i,j,*c;  
    printf("请输入5个整数\n");  
    for(i=1;i<=5;i++)  
        scanf("%d",&a[i-1]);  
    c=&a[0];  
    for(j=1;j<=5;j++)  
    {  
        if(a[j-1]<=a[j])  
            c=&a[j];  
    }  
    printf("最大的数是:%d\n",*c);  
    for(i=1;i<=5;i++)  
    {  
        b=&a[5-i];  
        printf("%d ",*b);  
    }  
}

    运行结果截图:

    课程和任务

    

    

文章结束给大家分享下程序员的一些笑话语录: 某程序员对书法十分感兴趣,退休后决定在这方面有所建树。花重金购买了上等的文房四宝。一日突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风 范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world.

--------------------------------- 原创文章 By
课程和任务
---------------------------------

posted @ 2013-05-31 22:07  xinyuyuanm  阅读(403)  评论(0编辑  收藏  举报