| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:[求助]为什么只输入一次就不让输入了?
只看楼主 加入收藏
HuiSky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-5-13
收藏
得分:0 
xuehao是数组,你的错误在于始终把数组当成一个元素在使用。
另外,你这个函数display的指针用得很牵强。
给人好象你故意要用的感觉.

2006-09-13 20:43
honkerman
Rank: 2
等 级:新手上路
威 望:4
帖 子:3078
专家分:0
注 册:2006-8-25
收藏
得分:0 

#include"stdio.h"
void display(int* ,char *,float * ,int *);

struct Student
{
int xuehao[50];
char name[50];
float chengji[50];

};

void main()
{
struct Student fun[20] ;
printf("请输入学员信息:\n");
char c;
int i=0,k=0;
float sum=0;
c='y';
do
{
printf("学号:");
scanf("%d",&fun[k].xuehao);
printf("\n姓名:");
fflush(stdin);
gets(fun[k].name);

printf("三门成绩:\n");
for( i=1;i<=3;i++)
{
fflush(stdin);
printf("成绩%d:",i);
scanf("%f",&fun[i-1].chengji);
}
printf("是否继续?<y or n>");
fflush(stdin);
c=getchar();
k++;
}while(c=='y');

printf("排序前的学员信息如下:");
printf("\n\t学号\t姓名\t平均成绩\n");
for(i=0;i<k;i++)
display(fun[i].xuehao,fun[i].name,fun[i].chengji,&k);
printf("排序后的学员信息如下:");


}
void display(int *xuehao,char *name,float *chengji,int *k)
{
float sum=0;
for(int i=1;i<=3;i++)
sum+=chengji[i-1];
sum/=3;

for(int j=1;j<*k;j++)
{
printf("%d\t%s\t%4.2f\n",xuehao,name,sum);
}
}
现在能输出N个人的了,可是输出的结果不对了


" target="_blank">God Bless You[GLOW=255,#00ff00,2]My Friends![/GLOW]
2006-09-13 20:48
HuiSky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-5-13
收藏
得分:0 
你定义的xuehao是数组!
int xuehao[50];这样不能用scanf("%d",&fun[k].xuehao);进行输入存储。
后面的printf也是.

2006-09-13 20:57
快速回复:[求助]为什么只输入一次就不让输入了?
数据加载中...
 
   



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

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