| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1187 人关注过本帖
标题:关于结构体的问题,童鞋们帮我分析一下下,奖励分分的噢
取消只看楼主 加入收藏
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
结帖率:84.38%
收藏
已结贴  问题点数:10 回复次数:13 
关于结构体的问题,童鞋们帮我分析一下下,奖励分分的噢
程序就是用结构体录入10个同学以内的学号,姓名,三门功课成绩,然后输出平均成绩,输出把成绩最高的同学的录入信息
#include"stdio.h"
int main(){
    struct xj{
        int xh;
        char name[10];
        struct cj{
            int yw;
            int sx;
            int yy;
        }stu_cj;                                    /*再在结构体里定义一个结构体类型cj,并定义一个结构体变量stu_cj用来存放三门功课成绩*/
        int zcj;
        };                                                 /*定义结构体XJ类型*/
        struct xj stu[10];                          /*定义结构体变量stu数组,有10个结构体变量*/
    int i=0,n,max,k=0;
    printf("请输入你要输入几个同学的成绩\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
   { printf("请按如下格式输入第%d个同学学号,姓名,语文成绩 数学成绩 英语成绩\n",i+1);
    scanf("%d,%s,%d %d %d",&stu[i].xh,&stu[i].name,&stu[i].stu_cj.yw,&stu[i].stu_cj.sx,&stu[i].stu_cj.yy);
    };
    for(i=0;i<n;i++)
     {
         stu[i].zcj=stu[i].stu_cj.yw+stu[i].stu_cj.sx+stu[i].stu_cj.yy;
        printf("第%d个同学平均成绩:%d",i+1,stu[i].zcj/3);
     };                                            /*计算每个同学的总成绩,然后按平均成绩输出*/
       max=stu[0].zcj;
     for(i=1;i<n;i++)
     {
         if(max<stu[i].zcj)
         {max=stu[i].zcj;
           k=i;};                                         /*用K记录成绩最高同学的下标,并在下行输出该同学的所有录入信息*/
            }
   printf("最高成绩学生的学号:%d姓名:%s三门课成绩:%d%d%d平均成绩是:%d\n",stu[k].xh,stu[k].name,stu[i].stu_cj.yw,stu[i].stu_cj.sx,stu[i].stu_cj.yy,stu[k].zcj/3);
     }

[ 本帖最后由 a271885843 于 2012-1-15 00:01 编辑 ]
搜索更多相关主题的帖子: 录入 童鞋 include 结构体 
2012-01-14 22:28
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用love24114在2012-1-14 22:33:37的发言:

把&去掉
我把指针换程数组了,你看看,还是不行

认为事物非黑即白是缺智慧的表现……
2012-01-14 22:37
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
我顶

认为事物非黑即白是缺智慧的表现……
2012-01-14 22:49
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用embed_xuel在2012-1-14 22:58:35的发言:

错误不少啊,
scanf("d%",&n);
还有for循环不加{}
嗯。有点大意了。不过除了这连个错误,还是有问题啊。最近熬夜1嗲左右,眼神不是很好,呵呵

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:04
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-14 23:11:33的发言:

寫程序不按規範做,也沒有調試意識,這樣下去……
老大教训的是........我主要担心的是自己语法和定义之类出错,至于粗心的地方确实没想到自己粗心的地方,比如如果我熟悉了结构体之流,再出错误,我肯定是先从粗心的地方来....

[ 本帖最后由 a271885843 于 2012-1-14 23:18 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:15
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-14 23:30:45的发言:

寫程序,先把框架(骨幹輪廊)搭起來,運行看看是不是符合意圖了,再逐漸往裏面添加細節(血肉),添一個測試一個,逐步來,在哪出問題自然容易定位。其實類似這種問題,本來不應該問的,屬於應該自己能夠解決的問題。講過,不照著做,下次就不講了。
老大,我会认真改的。。正在look数据结构,以后会慢慢好的。

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:36
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用embed_xuel在2012-1-14 23:21:53的发言:

变量k没有初始化
我刚试了,貌似还是没有解决问题

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:37
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-14 23:38:12的发言:

不關數據結構的事。數據結構沒有某些人所說那麼大的作用,起作用的是“構造數據”的能力,不是數據結構。
噢。我以后会改的

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:45
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-14 23:46:05的发言:

scanf("%d,%s,%d %d %d",&stu.xh,&stu.name,&stu.stu_cj.yw,&stu.stu_cj.sx,&stu.stu_cj.yy);

不要看書,你答我,&stu.xh中的&取地址符,是stu的地址還是stu.xh的地址?你心目中想寫哪個地址?既然心目中清楚,幹嘛不寫直接一點,而要弄一個自己沒把握的寫法?老實說,我看著也不知道,但不需要問,自然有手段測試出來,更重要的是,絕不會寫出這樣自己看著也迷糊的代碼。多寫一個括號,不會死人的,但出錯了累死自己,絕對是真的。這樣的觀點,我反復說過多少次,從來沒有一個初學者認真實行,那麼有空去背語法、記優先級,不如花時間學習更多的不至於犯錯的方法。這樣的代碼,寫出來既考別人也考自己,閑的蛋疼了?

有經驗的,寫到這樣的代碼,馬上就會意識到需要測試確定,要徹底弄明白這樣寫是否真的達到預期目的,沒弄清楚之前,就不要繼續往下寫。
我是想把值赋给stu[i].xh,如果这样写是错误的,那我就是表示结构体变量成员的方法出错了。,但我看视频教程上,关于结构体变量的表示方法就是这样的,

[ 本帖最后由 a271885843 于 2012-1-14 23:59 编辑 ]

认为事物非黑即白是缺智慧的表现……
2012-01-14 23:55
a271885843
Rank: 2
等 级:论坛游民
帖 子:291
专家分:58
注 册:2011-11-24
收藏
得分:0 
以下是引用TonyDeng在2012-1-15 00:07:41的发言:

結構體分量的表示方法確實是這樣,但沒說取地址的方法也這樣。stu.xh是表示.xh這個分量,要取它的地址,寫&(stu.xh)就是對這個變量取地址,絕對沒錯的,但若去了括號,你就得查書看優先級,不要忘了,按(&stu).xh理解也是合語法的。如果沒有把握,又死不肯寫括號,那麼就應該設置調試語句檢查接收的變量值是否正確,由此判斷編譯器是按哪種方式理解的,你記得住就記。
噢。是这么回事,老大,不是我懒得去写括号,是我真不知道,是我看教程里输出,就是stu.xh这样的模式,而在教程里,也没有输出赋值的例子,所以我以为就是&stu.xh就可以了。嗯。可以运行了。呵呵。这真不是我懒得去写,是我真不知道这样写的。

认为事物非黑即白是缺智慧的表现……
2012-01-15 00:19
快速回复:关于结构体的问题,童鞋们帮我分析一下下,奖励分分的噢
数据加载中...
 
   



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

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