C语言小白求解!

xsx1658434078 2017-11-30 05:04:20
题目描述
请编写C程序,输入5个不同的且为字符格式的学生编号,将其先由大到小排序,再将最大的学生编号和最小的学生编号互换位置,然后输出此时5位学生的编号。

输入
输入5位学生的编号(只含数字字符、英文字母或空格)。

输出
输出按题意要求排序后的5位学生的编号。

样例输入
good1
tiger100
horse2011
mouse 022
21century

样例输出
21century
mouse 022
horse2011
good1
tiger100

提示
用gets()函数输入字符串。

#include<stdio.h>
#include<stdio.h>
int main()
{
char *temp,*p[5];
char str[5][50];
int i,j;
for(i=0;i<5;i++)
{
gets(str[i]);
p[i] = str[i];
}
for(i=0;i<5;i++)
{
for(j=0;j<4-i;j++)
{
if((*p[j])<(*p[j+1]))
{
temp = p[j];
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
printf("%s\n",p[4]);
for(i=1;i<=3;i++)
printf("%s\n",p[i]);
printf("%s\n",p[0]);
return 0;
}

程序哪里错了?为什么无法运行?
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsx1658434078 2017-11-30
  • 打赏
  • 举报
回复
@yx777777

我用的是vc6.0,然后运行的时候没有答案输出
yx777777 2017-11-30
  • 打赏
  • 举报
回复
你用的是vs2015吗,vs2015是要用gets_s的,这个vc是可以通过编译的
大米粥哥哥 2017-11-30
  • 打赏
  • 举报
回复
可以运行啊
FoolCarpe 2017-11-30
  • 打赏
  • 举报
回复
试试 gets 改成 gets_s
gets_s(str[i]);

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧