| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:求大神告诉我哪里出错了
只看楼主 加入收藏
zxc505350
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-6-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
求大神告诉我哪里出错了
#include<stdio.h>
struct Student
{
    int l;
    int w;
    int h;
    char name;
}Class[n];
int mian()
{
    int i,n;
    int s=0,t;
    int t[9]={0,0,0,0,0,0,0,0,0};
    scanf("%d",&n);
    if(n=-1)break;
    for(i=0;i<n;i++)
    {
        scanf("%d %d %d %s",Class[i].l,Class[i].w,Class[i].h,Class[i].name);
        t=Class[i].l*Class[i].w*Class[i].h;
        s=s+t;
    }
    int ave=s/n;
    for(i=0;i<n;i++);
    {
        t[i]=Class[i].l*Class[i].w*Class[i].h;
        if(t[i]>ave)
        {
            char x=Class[i].name;
        }
        if(t[i]<ave)
        {
            char y=Class[i].name;
        }
        printf("%s took clay from %s",x,y);
    }
    return 0;
}


题目是一班里有N个人 老师给每个人发了等量的橡皮泥 但是发现总有人抢其他的人橡皮泥,把抢泥巴和被抢泥巴的以“x took clay from y“的情况输出
搜索更多相关主题的帖子: include 
2014-06-11 10:23
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:10 
没有看懂算法, 而且,有语法错误.

假设该班有10个人, 每个人发5块橡皮泥, 最后学生1手里有1块,  学生2手里有2块, 学生8手里有7块, 学生9手里有10块, 请问按照你的算法还能正确输出吗?

另外, 这种问题最好对变量的名字取个比较容易理解的名字,或者用注释解释一下变量的用途.  结构体中的l,w,h是什么意思呢?

代码测试环境:  WinXP+C-Free5.0.
2014-06-11 11:31
zxc505350
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-6-11
收藏
得分:0 
回复 2 楼 vvvcuu
l,w,h  是橡皮泥的长宽高
2014-06-11 16:07
zxc505350
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-6-11
收藏
得分:0 
小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样,她就可以知道谁被谁抢了橡皮泥了。
小米老师在不同的学期可能会带一个班或者同时带多个班,因此输入数据可能有一组或者多组。每组输入数据的第一行为一个整数n,表示了这个班的小朋友数,之后n行每行包括了由空格分隔的三个整数和一个字符串,那个字符串表示了小朋友的名字,前面三个整数则是这个学术手里橡皮泥块的长、宽、高数据。按照幼儿园的规定,每个班最多有9个小朋友,最少也要有2个小朋友,每个小朋友在学籍系统中的名称不超过8个字符长。当出现一个班级的小朋友数为-1时,表示没有更多的班级了。
输出行数与小米老师带的班级数相同,形式为“X took clay from Y.”,具体请参考样例输出。
样例输入
3
10 10 2 Jill
5 3 10 Will
5 5 10 Bill
4
2 4 10 Cam
4 3 7 Sam
8 11 1 Graham
6 2 7 Pam
-1  原题是这个有没有哪位大神 能直接给出答案
2014-06-11 16:08
zxc505350
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-6-11
收藏
得分:0 
回复 2 楼 vvvcuu
能不能指出哪有语法错误
2014-06-11 16:09
xzx951753
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-3-7
收藏
得分:10 
你的语法错误太多了,仔细检查吧,最基本的if(n=-1)break;  break用于跳出当前层,你已经是在最底层了,应当使用exit,  还有,不建议使用class关键字用于结构实例,class是有其他含义的
2014-06-11 16:44
xzx951753
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-3-7
收藏
得分:0 
还有Class[n]   n的数字哪里来? 在scanf之前  n是不生效的
2014-06-11 16:45
zxc505350
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-6-11
收藏
得分:0 
回复 7 楼 xzx951753
要这么改  吧Class[n]放在哪
2014-06-11 17:22
xzx951753
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-3-7
收藏
得分:0 
你最好用#define 给Class[n] 指定好实例的个数, 或者在scanf("%d",&n)以后 struct Strudent Class[n];
2014-06-11 17:41
xzx951753
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-3-7
收藏
得分:0 
int i,n;
    int s=0,t;
    int t[9]={0,0,0,0,0,0,0,0,0};
一个t变量,又来一个t数组
2014-06-11 17:42
快速回复:求大神告诉我哪里出错了
数据加载中...
 
   



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

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