| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 477 人关注过本帖
标题:请高手指点一下这个程序的错误
只看楼主 加入收藏
NewYear
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2013-5-14
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
请高手指点一下这个程序的错误
这个程序编译没有是没有发现错误,但是执行的时候输入第一个学生的数据,回车程序就会终止运行。请指点一下错误在什么地方。
#include "stdio.h"
void main()
{
    struct student
    {
        char name[20];
        int  num;
        float English;
        float Math;
        float C;
    }stu[10];
    int i,n;
    float ave[10],max;
    for(i=0;i<10;i++)
    {
        printf("请输入第%d个学生的姓名、学号、英语、数学和C程序设计成绩:\n",i+1);
        scanf("%s %d %f %f %f",stu[i].name,stu[i].num,stu[i].English,stu[i].Math,stu[i].C);
    }
    printf("姓名\t学号\t平均成绩\n");
    for(i=0;i<10;i++)
    {
        ave[i]=(stu[i].English+stu[i].Math+stu[i].C)/3;
        printf("%-10s%-10d%-6.2f",stu[i].name,stu[i].num,ave[i]);
    }
    max=ave[i];
    for(i=0;i<10;i++)        //找出平均成绩的最大值
    {
        if(max<ave[i])
        {
            max=ave[i];
            n=i;             //找出最大值对应的结构体数组的下标
        }
    }
    printf("平均分最高的学生是:\n姓名:%s\t学号:%d\t平均分:%-6.2f",stu[n].name,stu[n].num,ave[n]);
            
}
搜索更多相关主题的帖子: C程序设计 English include 
2013-05-15 12:12
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:4 
scanf里加上 &
2013-05-15 12:20
yan749241148
Rank: 1
等 级:新手上路
帖 子:1
专家分:6
注 册:2013-5-15
收藏
得分:6 
回复 楼主 NewYear
scanf("%s %d %f %f %f",&stu[i].name,&stu[i].num,&stu[i].English,&stu[i].Math,&stu[i].C);
还有一个问题就是“%s %d %f %f %f”它们之间不要有空格比较好!如果有空格的话,你输入数据的时候必须在它们之间加上空格,否则会出现错误!
2013-05-15 17:55
NewYear
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2013-5-14
收藏
得分:0 
问题解决了,多谢指点!
2013-05-16 00:36
快速回复:请高手指点一下这个程序的错误
数据加载中...
 
   



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

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