标题:新手写了一个成绩单的程序,但是运行不下去,请帮忙看看,谢谢大大们
只看楼主
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
结帖率:91.67%
已结贴  问题点数:20 回复次数:8 
新手写了一个成绩单的程序,但是运行不下去,请帮忙看看,谢谢大大们
写了个成绩单的程序
有3个学生,有3门课程,要求输入每个学生的成绩
然后打印出来每个学生的总分,每门课的平均分, 最后1行显示平均分
模式大概如下
No.             subject1  subject2  subject3  the whole score
the 1 subject      20          30        40         90
the 2 subject      30          40        20         90
the 3 subject      40          30        20         90
the 4 subject      30          30        30         90
我的程序如下:
#include<stdio.h>
#define N 3
main()
{
    int i,j;
    float score[N+1][4],sum;

    /*输入N个学生的3门成绩*/
    for(i=0 ; i<N ;i++)
    {
        printf("input %dth student's score:",i+1);
        for(j=0 ; j<=2 ;j++)
            scanf("%f",&score[i][j]);
    }

    /*计算每个学生总分*/
    for(i=0 ; i<N ; i++)
    {
        for(j=0 ; j<=2 ;j++)
        {
            sum=0.0;
            sum+=score[i][j];
            score[i][3]=sum;
        }
    }

    /*计算同一门课程以及总分的平均值*/
    for(j=0 ; j<3 ;j++)
    {
        for(i=0 ; i<N ;i++)
        {
            sum=0.0;
            sum+=score[i][j];
            score[N+1][j]=sum/(N*1.0);
        }
    }

    /*打印成绩单*/
    printf("No.");
    for(j=0 ; j<3 ; j++)
        printf("the %dth subject",j+1);
    printf("the whole score");     /*打印表头*/

    for(j=0 ; j<4 ; j++)
    {
        for(i=0 ; i<N+1 ;i++)
        {
            printf("%d",i+1);
            printf("%f",score[i][j]);
        }
    }

}

[ 本帖最后由 carmeloyin 于 2010-7-13 00:15 编辑 ]
搜索更多相关主题的帖子: 运行 成绩单 
2010-07-13 00:10
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
得分:0 
这里我假定是N个学生,N为3人
2010-07-13 00:11
xtfcu33
Rank: 2
等 级:论坛游民
帖 子:48
专家分:43
注 册:2010-4-26
得分:0 
出错。不能打印出来。
2010-07-13 09:40
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
得分:10 
错的地方很多。。。。
打印成绩单 这部分改得比较多
程序代码:

#include<stdio.h>
#define N 3
main()
{
    int i,j;
    float score[N+1][N+1],sum;

    /*输入N个学生的3门成绩*/
    for(i=0 ; i<N ;i++)
    {
        printf("input %dth student's score:",i+1);
        for(j=0 ; j< N;j++)
            scanf("%f",&score[i][j]);
    }

    /*计算每个学生总分*/
    for(i=0 ; i<N ; i++)
    {
        sum=0.0; // 放在循环外初始化
        for(j=0 ; j< N ;j++)
            sum+=score[i][j];
        score[i][3]=sum; // 和求出后在赋值
    }

    /*计算同一门课程以及总分的平均值*/
    for(j=0 ; j<N+1 ;j++) // 最后一列也要算
    {
        sum=0.0;
        for(i=0 ; i<N ;i++)
            sum+=score[i][j];
        score[N][j]=sum/(N*1.0); // N+1 访问越界
    }

    /*打印成绩单*/
    printf("No.\t");
    for(j=0 ; j<N ; j++)
        printf("the subject%d   ",j+1);
    printf("the whole score\n");     /*打印表头*/

    for(i=0 ; i<N+1; i++)
    {
        printf("%d ",i+1);
        for(j=0 ; j<N+1 ;j++)
        {
            printf("\t\t%.f",score[i][j]);
        }
        printf("\n");
    }

}
2010-07-13 10:20
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:10 
的确,确实错了不少:
#include<stdio.h>
#define N 3
main()
{
    int i,j;
    float score[4][4],sum;

    /*输入N个学生的3门成绩*/
    for(i=0 ; i<3 ;i++)
    {
        printf("input %dth student's score:",i+1);
        for(j=0 ; j< 3;j++)
            scanf("%f",&score[i][j]);
    }

    /*计算每个学生总分*/
    for(i=0 ; i<3 ; i++)
    {
        sum=0.0; // 放在循环外初始化
        for(j=0 ; j< 3 ;j++)
            sum+=score[i][j];
        score[i][3]=sum; // 和求出后在赋值
    }

    /*计算同一门课程以及总分的平均值*/
    for(j=0 ; j<N+1 ;j++) // 最后一列也要算
    {
        sum=0.0;
        for(i=0 ; i<3 ;i++)
            sum+=score[i][j];
        score[N][j]=sum/(N*1.0); // N+1 访问越界
    }

    /*打印成绩单*/
    printf("No.\t");
    for(j=0 ; j<3 ; j++)
        printf("the subject%d   ",j+1);
    printf("the whole score\n");     /*打印表头*/

    for(i=0 ; i<4; i++)
    {
        printf("%d ",i+1);
        for(j=0 ; j<4 ;j++)
        {
            printf("\t\t%.f",score[i][j]);
        }
        printf("\n");
    }

}

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-13 11:56
xxwpk007
Rank: 4
等 级:业余侠客
帖 子:166
专家分:289
注 册:2007-7-29
得分:0 
ls的两位什么情况。。。。。。。。
2010-07-13 16:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-312788-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037258 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved