| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2137 人关注过本帖
标题:求大神帮我看看这个问题出在哪里啦
只看楼主 加入收藏
夜空小雄
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-2-25
收藏
 问题点数:0 回复次数:1 
求大神帮我看看这个问题出在哪里啦
/*有5个学生,每个学生的数据包括学号 姓名 3门课成绩,平均分.
要求:从键盘依次输入5个学生的学号 姓名 3门课成绩,
自动计算3门课成绩的平均分,并将5个学生的数据在屏幕上输出*/
#include<stdio.h>
struct STUDENT
{
    char id[10];
    char name[8];
    int score[3];
    double ave;
}stu[5];
void main()
{
    int num=5,i,j;
    for(i=0;i<num;i++)
    {
        printf("\t请输入第%d学生的数据,i+1");
        printf("\t学号:");
        scanf("%s",stu[i].id);
        printf("\t姓名:");
        scanf("%s",stu[i].name);
        int Tave=0;
        for(j=0;j<3;j++)
        {
            printf("\t第%d门课的成绩:",j+1);
            scanf("%d",&stu[i].score[j]);
            Tave+=stu[i].score[j];
        }stu[i].ave=(double)Tave/3.0;

    }
    printf("\n\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n");
    for(i=0;i<num;i++)
    {
        printf("\t%s\t%s",stu[i].id,stu[i].name);
        for(j=0;j<3;j++)
            printf("\t%d",stu[i].score[j]);
        printf("\t%f\n",stu[i].ave);
    }
}
搜索更多相关主题的帖子: include double 键盘 姓名 
2015-06-12 12:52
多久变大神
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-6
收藏
得分:0 
很多明显错误:
1、scanf("%s",stu[i].id);;&落下了
2、何况学号应该是int型吧!怎么会%s
3、先int Tave=0,再强制转换个人觉得多此一举了,而且定义的位置有错,在C89老编译器里定义式只能放在表达式前即最开头,C99虽然可以放中间这一块,但也是在函数中才行;直接double Tave=0.0;放在第一个表达式前就行

4、最后一行double对应的应该是%lf而非%f(float)
你基础不够扎实,还要看看书
2015-06-15 17:45
快速回复:求大神帮我看看这个问题出在哪里啦
数据加载中...
 
   



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

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