| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 667 人关注过本帖
标题:输出结果时,只输出列表头,然后就崩溃了。
只看楼主 加入收藏
dragonjg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-12-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
输出结果时,只输出列表头,然后就崩溃了。
#include<stdio.h>
#define N 30
#define M 6
typedef struct
{
    int number;
    int name;
    int grade[M];
    int sgrade;
    int agrade;
}student;//½¨Á¢½á¹¹Ìå
student a[30];
int main(){
    int i,j,average,sum,m,n;
    scanf("%d%d",&n,&m);
    for(i=0;i<=n-1;i++)
    {
        printf("Please input the No.%2d student's number and name.\n",i+1);
        scanf("%d%s",&a[i].number,&a[i].name);
        for(j=0;j<=m-1;j++)
        {
            printf("Please input the No.%2d student's No.%d subject grades.\n",i+1,j+1);
            scanf("%d",&a[i].grade[j]);
        }
    }
        
   
    for(i=0;i<=n-1;i++)   
    {
        sum=0;
        for(j=0;j<=m-1;j++)
            sum=sum+(a[i]).grade[j];
        average=sum/m;
        a[i].sgrade=sum;
        a[i].agrade=average;
    }
    printf("%16s%5s%5s\n","name","sum","average");
    for(i=0;i<=n-1;i++)
    printf("%16s%5d%5d\n",(a[i]).name,(a[i]).sgrade,(a[i]).agrade);
}

搜索更多相关主题的帖子: average include number 
2016-12-11 23:02
dragonjg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-12-11
收藏
得分:0 
希望各位给我一些指导。
2016-12-11 23:03
dragonjg
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-12-11
收藏
得分:0 
一开始是输入 人数和科目数。不好意思,这个是一个整体拿出来测试的一部分。
2016-12-11 23:07
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:20 
#include<stdio.h>
 #define N 30
 #define M 6
 typedef struct
 {
     int number;
    char name[10];
     int grade[M];
     int sgrade;
     int agrade;
 }student;//?¨á¢?á11ì?
 student a[30];
 int main(){
    float sum, average;
     int i,j,average,sum,m,n;
     scanf("%d%d",&n,&m);
     for(i=0;i<=n-1;i++)
     {
         printf("Please input the No.%2d student's number and name.\n",i+1);
         scanf("%d%s",&a[i].number,a[i].name);
         for(j=0;j<=m-1;j++)
         {
             printf("Please input the No.%2d student's No.%d subject grades.\n",i+1,j+1);
             scanf("%d",&a[i].grade[j]);
         }
     }
         
     
     for(i=0;i<=n-1;i++)   
     {
         sum = 0;
         for(j=0;j<=m-1;j++)
             sum=sum+(a[i]).grade[j];
         average=sum/m;
         a[i].sgrade=sum;
         a[i].agrade=average;
     }
     printf("%16s%5s%5s\n","name","sum","average");
     for(i=0;i<=n-1;i++)
     printf("%16s%5d%5d\n",(a[i]).name,(a[i]).sgrade,(a[i]).agrade);
 }
给个建议 (a[i]).name 不需要小括号
数据类型没对应, 如果name是int型那就改为%d,

[此贴子已经被作者于2016-12-11 23:11编辑过]


早知做人那么辛苦!  当初不应该下凡
2016-12-11 23:09
快速回复:输出结果时,只输出列表头,然后就崩溃了。
数据加载中...
 
   



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

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