永发信息网

C语言中strcpy问题,帮帮忙呀……

答案:4  悬赏:80  手机版
解决时间 2021-04-30 15:00

#include "math.h"
#include "stdio.h"
void main()
{
int fd=0;
int numb[6]={0};
char fsd[5][10]={' '};
int i,size,j,k;
printf("请输入要统计的人数:");
scanf("%d",&size);
int Num[size],score[size];
for(i=0;i<size;i++)
{
printf("请输入第%d个学生的学号:",i+1);
scanf("%d",&Num[i]);
printf ("请输入第%d个学生的成绩:",i+1);
scanf("%d",&score[i]);
}
for(i=0;i<(size-1);i++)
{
k=0;
for(j=i+1;j<=(size-1);j++)
{
if(score[i]<score[j])
{
k=score[i];
score[i]=score[j];
score[j]=k;
k=Num[i];
Num[i]=Num[j];
Num[j]=k;
}
}
}
printf("学号 分数\n");
i=0;
while(i<size)
{
printf("%-10d %3d\n",Num[i],score[i]);
i++;
}
i=0;
while(score[i]>=60)i++;
printf("\n不及格的学生有:\n学号 分数\n");
while(i<size)
{
printf("%-10d %3d\n",Num[i],score[i]);
i++;
}
for(i=0;i<size;i++)
{
fd=(score[i]-(score[i]%10))/10;
switch(fd)
{
case 10:


case 9:numb[0]++;strcpy(fsd[0][9],"90~100");break;
case 8:numb[1]++;strcpy(fsd[1][9],"80~89");break;
case 7:numb[2]++;strcpy(fsd[2][9],"70~79");break;
case 6:numb[3]++;strcpy(fsd[3][9],"60~69");break;
default:numb[4]++;


}
}
i=0;
while(i<4)
{
printf("在%s之间的学生占全班的%d%c\n",fsd[i],numb[0]*100/size,37);
i++;
}
printf("不及格的学生占全班的%d%c\n",numb[4]*100/size,37);
}

黑体部分在编译时提示:

--------------------配置: mingw2.95 - CUI Debug, 编译器类型: MinGW (Old)--------------------

检查文件依赖性...
正在编译 D:\Backup\我的文档\C-Free\Projects\123\未命名1.cpp...
[Error] D:\Backup\我的文档\C-Free\Projects\123\未命名1.cpp:56: passing `char' to argument 1 of `strcpy(char *, const char *)' lacks a cast
[Error] D:\Backup\我的文档\C-Free\Projects\123\未命名1.cpp:57: passing `char' to argument 1 of `strcpy(char *, const char *)' lacks a cast
[Error] D:\Backup\我的文档\C-Free\Projects\123\未命名1.cpp:58: passing `char' to argument 1 of `strcpy(char *, const char *)' lacks a cast
[Error] D:\Backup\我的文档\C-Free\Projects\123\未命名1.cpp:59: passing `char' to argument 1 of `strcpy(char *, const char *)' lacks a cast

构建中止 未命名1: 4 个错误, 0 个警告

这是怎么回事????????

最佳答案

strcpy(fsd[0][9],"90~100"); ===> strcpy(fsd[0],"90~100");



编译器提示很清楚了....

全部回答

第二个问题 :C语言中“%”怎么输出?

都没人回答,我来补充好了

当想输出一个%时,你要写%%两个就可以输出一个%了 ,比如:printf("%d%%\n",5);那么屏幕上就显示5%

strcpy参数类型错误, 第一个参数fsd[][]依据定义是char类型, 而strcpy的第一个参数应该是char *, 可改为

strcpy(fsd[0],"90-100");

或者strcpy( &(fsd[0][0]), "90-100" );

其它依次更改fsd[1], fsd[2], ....

case 9:numb[0]++;strcpy(fsd[0][9],"90~100");break; case 8:numb[1]++;strcpy(fsd[1][9],"80~89");break; case 7:numb[2]++;strcpy(fsd[2][9],"70~79");break; case 6:numb[3]++;strcpy(fsd[3][9],"60~69");break;

改 strcpy(fsd[0],"90-100")成这样才可以,FSD[0]就是第0行的首地址,strcpy要用地址的,其他几个都这样改

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我的电脑无法显示QQ空间的农场和花滕?
李鹤彪是谁?李鹤彪图片
24孝老公三字经是怎样写?
下雨天,噩梦
广泰未来家园北门地址在哪,我要去那里办事
没房,没车,没储存就不能结婚吗?
花生和什么搭配吃有营养
武林外传 80武器
QQ三国29魏XS如何快速升级
我的QQ号登陆不上了,为什么别的号能登陆
现在做卖铁生意,卖什么铁最赚钱??
Are you make sure that you can do it? 是什
跪求htc g4 上网设置
是超级QQ生级快还是会员生级快
索尼W220冲电时那指示灯是红色还是绿色,有没
推荐资讯
玉龙防水在什么地方啊,我要过去处理事情
方正电脑飞越A600系列4E27可以玩CF吗
骑士这个赛季会夺冠吗?
有好心者帮我提提意见!
十八岁的女孩子能叫妇女吗??有个比我大十几
求以少女时代的CP文(Tiffany)
在游戏进行中程序终止怎么办?
女生怎样锻炼手部力量
DNF我退工会一个多星期了,现在想加个新公会
当丑小鸭还是一只丑小鸭的时候他爱上了一只天
国高寄卖行怎么去啊,有知道地址的么
小女子(中药宴)对联等你下联
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?