当前位置: 代码迷 >> C语言 >> [求助]解决一个 输入问题!
  详细解决方案

[求助]解决一个 输入问题!

热度:186   发布时间:2005-08-26 15:20:00.0
[求助]解决一个 输入问题!
#include "stdio.h" #include "stdlib.h" struct student { char name[20]; int num; float score; }stu[5]; void input(arr) /*输入*/ struct student arr[]; { int i; char temp[20]; for(i=0;i<5;i++) {printf("please input the information:\n"); gets(arr[i].name); gets(temp); arr[i].num=atoi(temp); gets(temp); arr[i].score=atof(temp); } } void search(arr) /*查找*/ struct student arr[]; {int i,n; char temp[20]; printf("please input a num:\n"); gets(temp); n=atoi(temp); for(i=0;i<5;i++) if(n==arr[i].num) printf("%s%d\n",arr[i].name,arr[i].score); if(i==4&&arr[i].num) printf("not exist "); } void order(arr) /*排序*/ struct student arr[]; {int i,j,t; float temp; int temp1; for(j=0;j<5;j++) for(i=0;i<5-j;i++) if(arr[i].score<arr[i+1].score) { temp=arr[i].score; arr[i].score=arr[i+1].score; arr[i+1].score=temp; temp1=arr[i].num; arr[i].num=arr[i+1].num; arr[i+1].num=temp1; } } void output(arr) /*输出*/ struct student arr[]; {int i; for(i=0;i<5;i++) printf("%-3d %-5f%-6s\n",arr[i].num,arr[i].score,arr[i].name); } main() {int k; printf(" please input a number:\n"); printf("*******************************\n\n"); printf(" 1--------------------input\n"); printf(" 2--------------------order\n"); printf(" 3--------------------output\n"); printf(" 4--------------------search\n\n"); printf("*******************************\n"); scanf("%d",&k); switch(k) {case 1:input(stu); output(stu); break; case 2:order(stu);break; case 3:output(stu);break; case 4:search(stu); break; default : break; } getch(); } 为什么第一个人的数据只能输入两个呢? 奇怪。 单独运行又是对的
搜索更多相关的解决方案: 输入  

----------------解决方案--------------------------------------------------------
怎么没人回答呢?
----------------解决方案--------------------------------------------------------
两天之内给你回复

----------------解决方案--------------------------------------------------------
两天之内给你回复

----------------解决方案--------------------------------------------------------
  相关解决方案