| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1186 人关注过本帖
标题:j请教各位大虾!!!c语言难题!!!急!!!
只看楼主 加入收藏
fly_xp
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-3-24
收藏
 问题点数:0 回复次数:13 
j请教各位大虾!!!c语言难题!!!急!!!

按如下要求编写程序,要求能够输出正确运行结果。 (1)输入20个学生记录(每个学生记录包括学号、姓名、性别、年龄、成绩),组成结构体数组,然后按成绩由高到低的次序排序并将排序结果写入文件中,最后读取文件,输出排序结果。 例如,输入信息如下: Num name sex age score 1 Liping M 19 80 2 Zhangtao M 20 86 3 Zhaodan F 19 82 4 Liupeng M 20 78 5 Wenli F 20 89 6 Hezhen M 20 92 ...

输出结果如下: num name sex age score 6 Hezhen M 20 92 5 Wenli F 20 89 2 Zhangtao M 20 86 3 Zhaodan F 19 82 1 Liping M 19 80 4 Liupeng M 20 78 ... (2)设有3位候选人参加选举,15人投票,输入投票情况,按得票顺序对候选人进行排序并按排序结果写入文件中,最后读取文件,输出排序结果。 例如,输入信息如下: jerry tom jerry droopy jerry droopy ... 输出结果如下: jerry 8 droopy 5 tom 2

搜索更多相关主题的帖子: c语言 难题 
2005-03-24 15:58
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 

用结构体数组相对简单的了. #include <stdio.h> typedef struct student{ char num[20]; char name[10]; char sex; int score; }STU; #define N 2 STU stu[N]; void input(); void output(); void sort(); void main() {

input(stu); output(stu); sort(stu); output(stu); } void input(STU stu1[]) { int i; FILE *fp; fp=fopen("c:\\temp.dat","wb"); if(fp==NULL){ printf("can't open this file"); exit(1); } for(i=0;i<N;i++){ printf("please input student number:"); scanf("%s",stu1[i].num); getchar(); printf("please input student name:"); scanf("%s",stu1[i].name); getchar(); printf("please input student sex:"); scanf("%c",&stu1[i].sex); getchar(); printf("please input student score:"); scanf("%d",&stu1[i].score); fprintf(fp,"%s,%s,%c,%d\n",stu1[i].num,stu1[i].name,stu1[i].sex,stu1[i].score); } fclose(fp); } void output(STU stu2[]) { int i; printf("\n\n num name sex score\n"); for(i=0;i<N;i++){ printf("%20s%10s%5c%10d\n",stu2[i].num,stu2[i].name,stu2[i].sex,stu2[i].score); } } void sort(STU stu3[]) { STU stud; int i,j; for(i=0;i<N-1;i++) for(j=0;j<N-i-1;j++){ if(stu3[j].score<stu3[j+1].score){ stud=stu3[j]; stu3[j]=stu3[j+1]; stu3[j+1]=stud; } } }


2005-03-24 16:51
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 
还有年龄没有加入,自己来吧.令第二题不再写.
楼主解释一下投票是控制投啊,还是随即投的啊???/?

2005-03-24 16:53
他们
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-3-22
收藏
得分:0 
楼上的佩服佩服呀

2005-03-24 16:59
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
牛!!

2005-03-24 22:52
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
main()
{char a[3][20],b[20];
  int aa[3],i,j;
printf("Input three person name:\n");
for(i=0;i&lt;3;i++)
{aa[i]=0;
scanf("%s",a[i]); }
printf("input name\n");
for(j=0;j&lt;15;j++)
{
loop:scanf("%s",b);
for(i=0;i&lt;3;i++)
if(strcmp(a[i],b)==0) break;
if(i&gt;=3) {printf("input error!\n"); goto loop;}
aa[i]++;
}
printf("The result:\n");
for(i=0;i&lt;3;i++)
printf("%-10s:%5d\n",a[i],aa[i]);
getch();
}

[此贴子已经被作者于2005-3-25 20:14:11编辑过]



2005-03-25 20:06
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
最后读取文件,输出排序结果!

好象没达到要求?

2005-03-25 20:34
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
差得远了,加油空前

淘宝杜琨
2005-03-26 01:53
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
我说神,你也别老是灌水,是不是把常见的作业都写一次,帮帮这些小学弟吗

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-03-26 17:13
黑客
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2005-3-18
收藏
得分:0 
还不知那些是个什么东东,差得远呀!

教父,已成为过去;谁来续写这段传说?-----我!
2005-03-26 18:28
快速回复:j请教各位大虾!!!c语言难题!!!急!!!
数据加载中...
 
   



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

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