C语言数组问题

使用字符数组和实型数组分别储存学生姓名和成绩,并通过读学生成绩的排序,按照名词输出字符数组中对应的学生姓名。以下是写的内容,请各位大神查看错误在哪里,为何输入完数据就无法... 使用字符数组和实型数组分别储存学生姓名和成绩,并通过读学生成绩的排序,按照名词输出字符数组中对应的学生姓名。以下是写的内容,请各位大神查看错误在哪里,为何输入完数据就无法继续了,一开始没用strcpy还能往下继续一步,然后退出,最开始直接cMin=cName[i]这样写的。一上午也没研究明白,请大神出马吧,用我这个思路怎么可以解决。#include<stdio.h>#include<string.h>main(){ char cName[5],cMin[1]; float fScore[5],fMin; int i,j,iPos; printf("输入学生的姓名和成绩:\n"); for(i=0;i<5;i++) { printf("cName[%d]是:",i); scanf("%s",&cName[i]); printf("成绩为:"); scanf("%f",&fScore[i]); } for(i=0;i<5;i++) { fMin=fScore[i]; iPos=i; strcpy(cMin[1],cName[i]); for(j=i+1;j<5;j++) { if(fScore[j]<fMin) { fMin=fScore[j]; strcpy(cMin[1],cName[j]); iPos=j; } } fScore[iPos]=fScore[i]; fScore[i]=fMin; strcpy(cName[iPos],cName[i]); strcpy(cName[i],cMin[1]); } printf("成绩由低到高的顺序为:\n"); for(i=0;i<5;i++) { printf("%s的成绩为%f\n",cName[i],fScore[i]); } } 展开
 我来答
天枰非官
2017-12-26 · TA获得超过2456个赞
知道小有建树答主
回答量:1620
采纳率:89%
帮助的人:255万
展开全部
#include<stdio.h>
#include<string.h>
main() {
char cName[5],cMin[2];
float fScore[5],fMin;
int i,j,iPos;
printf("ÊäÈëѧÉúµÄÐÕÃûºÍ³É¼¨:\n");
for(i=0; i<5; i++) {
printf("cName[%d]ÊÇ£º",i);
scanf("%s",&cName[i]);
printf("³É¼¨Îª£º");
scanf("%f",&fScore[i]);
}
for(i=0; i<5; i++) {
fMin=fScore[i];
iPos=i;
cMin[1]=cName[i];
for(j=i+1; j<5; j++) {
if(fScore[j]<fMin) {
fMin=fScore[j];
cMin[1]=cName[j];
iPos=j;
}
}
fScore[iPos]=fScore[i];
fScore[i]=fMin;
cName[iPos]=cName[i];
    cName[i]=cMin[1];
}
printf("³É¼¨Óɵ͵½¸ßµÄ˳ÐòΪ:\n");
for(i=0; i<5; i++) {
printf("%cµÄ³É¼¨Îª%f\n",cName[i],fScore[i]);
}
}

你的strcpy对char调用

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RU恶魔猎手SH
2017-12-26 · TA获得超过433个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:226万
展开全部
char cName[5];
这个是字符型数组,每个位置只能存一个字符。
strcpy(char* a,char* b)的两个参数是指向字符的指针。
更多追问追答
追问
应该怎么改?
应该怎么改?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式