C语言问题!!!!!!!
为什么我输入2,运行的时候只输入一组数据#include<stdio.h>#include<string.h>structstu{charname[20];intgrad...
为什么我输入2,运行的时候只输入一组数据
#include<stdio.h>
#include<string.h>
struct stu{
char name[20];
int grades;
};
int main(){
int n,i,k,j,copy;
char c[20],temp[20];
scanf("%d",&n);
struct stu student[100];
for(i=0;i<n;i++){ /*输入姓名学号*/
gets (temp);
sscanf(temp,"%[^,],%d",student[i].name,&student[i].grades);
}
for(i=0;i<n-1;i++){ /*排序*/
for(j=i+1;j<n;j++)
if(student[i].grades<student[j].grades){
copy=student[i].grades;
student[i].grades=student[j].grades;
student[j].grades=copy;
strcpy(c,student[i].name);
strcpy(student[i].name,student[j].name);
strcpy(student[j].name,c);
}
}
for(i=0;i<n;i++){
printf("%s,%d\n",student[i].name,student[i].grades);
}
} 展开
#include<stdio.h>
#include<string.h>
struct stu{
char name[20];
int grades;
};
int main(){
int n,i,k,j,copy;
char c[20],temp[20];
scanf("%d",&n);
struct stu student[100];
for(i=0;i<n;i++){ /*输入姓名学号*/
gets (temp);
sscanf(temp,"%[^,],%d",student[i].name,&student[i].grades);
}
for(i=0;i<n-1;i++){ /*排序*/
for(j=i+1;j<n;j++)
if(student[i].grades<student[j].grades){
copy=student[i].grades;
student[i].grades=student[j].grades;
student[j].grades=copy;
strcpy(c,student[i].name);
strcpy(student[i].name,student[j].name);
strcpy(student[j].name,c);
}
}
for(i=0;i<n;i++){
printf("%s,%d\n",student[i].name,student[i].grades);
}
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询