| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 511 人关注过本帖
标题:请问这个结构体出什么问题了
只看楼主 加入收藏
木瓜君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:144
注 册:2009-10-17
结帖率:100%
收藏
 问题点数:0 回复次数:3 
请问这个结构体出什么问题了
程序代码:
#include "stdio.h"
void main()
{
    int i,j;
    printf("姓名\t数学\t英语\t计算机\t平均分\n");
    struct student
    {
        char name[10];
        double math;
        double English;
        double computer;
        double average; 
    } stu[]= {{"Mary",93,100,88},
            {"Jone",82,90,90},
            {"Peter",91,76,71},
            {"Rose",100,80,92}};
    for (i=0;i<4;i++)
    {
       stu[i].average=(stu[i].math+stu[i].English+stu[i].computer)/3;  /*这里是不是出了什么问题?平均分小数部分为0*/
    }
    for (i=0;i<3;i++)
        for (j=i+1;j<4;j++)
    {
        struct student temp;
        if (stu[i].average<stu[j].average)
        {
           temp=stu[j];
           stu[j]=stu[i];
           stu[i]=temp;
        }
    }
    for (i=0;i<4;i++)
    printf("%s\t%4d\t%4d\t%4d\t%.1f\n",stu[i].name,stu[i].math,stu[i].English,stu[i].computer,stu[i].average);

}
搜索更多相关主题的帖子: 结构体 
2009-11-01 20:31
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
分数你定义的时候是double类型,输出的时候却用int 输出,所以有问题。
把最后一句改下吧
 printf("%s\t%4lf\t%4lf\t%4lf\t%4lf\n",stu[i].name,stu[i].math,stu[i].English,stu[i].computer,stu[i].average);
2009-11-01 20:45
jzq357025230
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2009-2-17
收藏
得分:0 
楼上正解
2009-11-01 21:12
木瓜君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:144
注 册:2009-10-17
收藏
得分:0 
thanks
2009-11-01 22:55
快速回复:请问这个结构体出什么问题了
数据加载中...
 
   



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

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