| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖
标题:为什么输入一排“烫”●奇怪???
取消只看楼主 加入收藏
え元元え
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:4 
为什么输入一排“烫”●奇怪???
今天编程做个学生成绩统计的小程序

可是运行时老是输入一堆“烫”
难道我很烫吗??答案当然是否定的```
那是为什么呢``???
请高手门指点下```
搜索更多相关主题的帖子: 输入 
2006-04-08 10:40
え元元え
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-7
收藏
得分:0 

我的代码是这样的:
#include<stdio.h>
#include<stdlib.h>

char flag='y';

struct info
{
char name[20];
int grade1;
int grade2;
int grade3;
float avg;
};

int input(struct info stu[])
{
int count=1;

while(flag=='y'||flag=='Y')
{
printf("\n请输入第%d个学生的信息:\n",count);
printf("全输入学生的名字:");
fflush(stdin);
gets(stu[count].name);
printf("第一门成绩是:\n");
scanf("%d",&stu[count].grade1);
printf("第二门成绩是:\n");
scanf("%d",&stu[count].grade2);
printf("第三门成绩是:\n");
scanf("%d",&stu[count].grade3);
count++;
printf("要继续吗?(y/n)");
scanf("%1s",&flag);
}
return count;
}

void arrange(struct info stu[],int count)
{
struct info temp;
for(int a=0;a<count-1;a++)
{
for(int b=1;b<count;b++)
{
if(stu[a].avg<=stu[b].avg)
{
temp=stu[a];
stu[b]=temp;
stu[a]=temp;
}
}
}
}

void display(struct info stu[],int count)
{
printf("学生成绩如下:\n");
for(int a=0;a<count;a++)
{
stu[a].avg=(float)((stu[a].grade1+stu[a].grade2+stu[a].grade3)/3.0);
printf("姓名\t\t平均成绩\n");
printf("%s\t\t%3f",stu[a].name,stu[a].avg);
}
}

void main()
{
int num=0;
struct info stu[50];
char flag1='y';
while(flag1=='y'||flag1=='Y')
{
num=input(stu);
if(flag=='n'||flag=='N')
{
display(stu,num);
arrange(stu,num);
display(stu,num);
}
printf("要继续吗?(y/n)");
scanf("%1s",&flag1);
if(flag1=='n'||flag1=='N')
break;
num++;
}

}
帮忙看看```


2006-04-08 10:40
え元元え
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-7
收藏
得分:0 
真诚帖 啊``
没人帮我啊``
好失望```

2006-04-08 10:52
え元元え
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-7
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>

char flag='y';

struct info
{
char name[20];
int grade1;
int grade2;
int grade3;
float avg;
};

int input(struct info stu[])
{
int count=1;
while(flag=='y'||flag=='Y')
{
printf("\n请输入第%d个学生的信息:\n",count);
printf("全输入学生的名字:");
fflush(stdin);
gets(stu[count-1].name);
printf("第一门成绩是:\n");
scanf("%d",&stu[count-1].grade1);
printf("第二门成绩是:\n");
scanf("%d",&stu[count-1].grade2);
printf("第三门成绩是:\n");
scanf("%d",&stu[count-1].grade3);
printf("要继续吗?(y/n)");
scanf("%1s",&flag);
if(flag=='y'||flag=='Y')
{
count++;
}
else
break;
}
return count;
}

void arrange(struct info stu[],int count)
{
struct info temp;
for(int a=0;a<count-1;a++)
{
for(int b=1;b<count;b++)
{
if(stu[a].avg<=stu[b].avg)
{
stu[a]=stu[b];
stu[b]=temp;
temp=stu[a];
}
}
}
}

void display(struct info stu[],int count)
{
printf("学生成绩如下:\n");
for(int a=0;a<count;a++)
{
stu[a].avg=(float)((stu[a].grade1+stu[a].grade2+stu[a].grade3)/3.0);
printf("姓名\t\t平均成绩\n");
printf("%s\t\t%3f",stu[a].name,stu[a].avg);
}
}

void main()
{
int num=0;
struct info stu[50];
char flag1='y';
while(flag1=='y'||flag1=='Y')
{
num=input(stu);
if(flag=='n'||flag=='N')
{
printf("***********************************************\n");
display(stu,num);
arrange(stu,num);
printf("\n***********************************************\n");
display(stu,num);
printf("\n***********************************************\n");
}
printf("要继续吗?(y/n)");
scanf("%1s",&flag1);
if(flag1=='n'||flag1=='N')
break;
}

}

完美````
哈啊 ``
谢谢``


2006-04-08 14:16
え元元え
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-4-7
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>

char flag='y';

struct info
{
char name[20];
int grade1;
int grade2;
int grade3;
float avg;
};

int input(struct info stu[])
{
int count=1;
while(flag=='y'||flag=='Y')
{
printf("\n请输入第%d个学生的信息:\n",count);
printf("全输入学生的名字:");
fflush(stdin);
gets(stu[count-1].name);
printf("第一门成绩是:\n");
scanf("%d",&stu[count-1].grade1);
printf("第二门成绩是:\n");
scanf("%d",&stu[count-1].grade2);
printf("第三门成绩是:\n");
scanf("%d",&stu[count-1].grade3);
printf("要继续吗?(y/n)");
scanf("%1s",&flag);
if(flag=='y'||flag=='Y')
{
count++;
}
else
break;
}
return count;
}

void arrange(struct info stu[],int count)
{
struct info temp;
for(int a=0;a<count-1;a++)
{
for(int b=1;b<count;b++)
{
if(stu[a].avg<=stu[b].avg)
{
stu[b]=temp;
stu[a]=stu[b];
temp=stu[a];
}
}
}
}

void display(struct info stu[],int count)
{
printf("学生成绩如下:\n");
for(int a=0;a<count;a++)
{
stu[a].avg=(float)((stu[a].grade1+stu[a].grade2+stu[a].grade3)/3.0);
printf("姓名\t\t平均成绩\n");
printf("%s\t\t%3f",stu[a].name,stu[a].avg);
}
}

void main()
{
int num=0;
struct info stu[50];
char flag1='y';
while(flag1=='y'||flag1=='Y')
{
num=input(stu);
if(flag=='n'||flag=='N')
{
printf("***********************************************\n");
display(stu,num);
arrange(stu,num);
printf("\n***********************************************\n");
display(stu,num);
printf("\n***********************************************\n");
}
printf("要继续吗?(y/n)");
scanf("%1s",&flag1);
if(flag1=='n'||flag1=='N')
break;
}

}
这样???


2006-04-08 17:03
快速回复:为什么输入一排“烫”●奇怪???
数据加载中...
 
   



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

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