| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 483 人关注过本帖
标题:[求助]请问这题错在哪里
只看楼主 加入收藏
djgdq555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-8
收藏
 问题点数:0 回复次数:7 
[求助]请问这题错在哪里
struct student
{int number;
char name[10];
float score;
}stu[4];
main()
{int i,x;
float max,y;
char *z;
for(i=0;i<4;i++)
scanf("%d%s%f",&stu[i].number,&stu[i].name,&stu[i].score);
for(max=stu[0].score,i=1;i<4;i++)
if(max<stu[i].score)
max=stu[i].score;
x=stu[i].number;
y=stu[i].score;
z=stu[i].name
printf("\n the maximumscore:\n")
printf("no:%d\nname:%s\nscore:%4.1f\n",x,z,y);
}请问错在哪里啊
编译提示信息是:statement missing :in function main
谁能帮我解释一下吗
2006-03-12 02:22
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

#include <stdio.h>
struct student
{
int number;
char name[10];
float score;
}stu[4];

void main()
{
int i,x,max;
float y;

scanf("%f",&y);
printf("please input:\n");
for(i=0;i<4;i++)
scanf("%d%s%f",&stu[i].number,stu[i].name,&stu[i].score);

for(max=stu[0].score,i=1;i<4;i++)
if(max<stu[i].score)
{
max=stu[i].score;
x=i;
}
printf("\nThe maxmumscore:\n") ;
printf("no:%d\nname:%s\nscore:%4.1f\n",stu[x].number,stu[x].name,stu[x].score);
getch();
}

楼主对照下,基本是按你的思路写的


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-12 02:32
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
以下是引用djgdq555在2006-3-12 2:22:00的发言:
struct student
{int number;
char name[10];
float score;
}stu[4];
main()
{int i,x;
float max,y;
char *z;
scanf("%f",&y); /*告诉编译器连接浮点库*/
for(i=0;i<4;i++)
scanf("%d%s%f",&stu[i].number,&stu[i].name,&stu[i].score);
for(max=stu[0].score,i=1;i<4;i++)
if(max<stu[i].score)
{ max=stu[i].score;
x=stu[i].number;
y=stu[i].score;
z=stu[i].name;}
printf("\n the maximumscore:\n");
printf("no:%d\nname:%s\nscore:%4.1f\n",x,z,y);
}请问错在哪里啊
编译提示信息是:statement missing :in function main
谁能帮我解释一下吗

你自己的 别写那么乱了


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-12 02:38
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
scanf("%d%s%f",&stu[i].number,&stu[i].name,&stu[i].score);

中stu[i].name 前那个& 也要去掉~~

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-12 02:40
djgdq555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-8
收藏
得分:0 

非常感谢你的指导

2006-03-12 05:29
djgdq555
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-8
收藏
得分:0 

怎么我按你的做一遍但还是有错啊
我是一个刚学C 的有些地方不能理解,能讲仔细点吗

2006-03-12 05:53
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 

struct student
{int number;
char name[10];
float score;
}stu[4];
main()
{int i,x,k;
float max,y;
char *z;
for(i=0;i<4;i++)
{
printf("Input the %d student's number,name and score:\n",i+1);
scanf("%d%s%f",&stu[i].number,&stu[i].name,&stu[i].score);
}
for(max=stu[0].score,i=1;i<4;i++)
if(max<stu[i].score)
max=stu[i].score;

for(i=0;i<4;i++)
if(max==stu[i].score) k=i; //k记录最高分对应的序号
x=stu[k].number;
y=stu[k].score;
z=stu[k].name;

printf("\n the maximumscore:\n");
printf("no:%d\nname:%s\nscore:%4.1f\n",x,z,y);


}


这个程序也能实现楼主的要求


2006-03-12 09:22
李建伟1289
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-11-12
收藏
得分:0 
以下是引用feng1256在2006-3-12 2:38:00的发言:

你自己的 别写那么乱了

struct student
{int number;
char name[10];
float score;
}stu[4];
main()
{int i,x;
float max,y;
char *z;
scanf("%f",&y); /*告诉编译器连接浮点库*/
for(i=0;i<4;i++)
scanf("%d%s%f",&stu[i].number,&stu[i].name,&stu[i].score);
for(max=stu[0].score,i=1;i<4;i++)
if(max<stu[i].score)
{ max=stu[i].score;
x=stu[i].number;
y=stu[i].score;
z=stu[i].name;}
printf("\n the maximumscore:\n");
printf("no:%d\nname:%s\nscore:%4.1f\n",x,z,y);
楼上的修正很到位,在最后一行中的printf中,z是个指针,代表的是字符串的首地址,用的是串式轮输出,而不能用*z,它代表的是一个字符;


江湖中人向来都是不鸣则已,一鸣惊人。总有一天我要下天山,威振武林!
2006-03-12 10:11
快速回复:[求助]请问这题错在哪里
数据加载中...
 
   



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

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