下面c语言代码哪错了,最后结果总为输入的最后字符串?
用户输入单词后,程序根据字典顺序决定排在最前面和最后面的单词。当用户输入4个字母的单词时,程序停止读入。#include<stdlib.h>#include<string...
用户输入单词后,程序根据字典顺序决定排在最前面和最后面的单词。 当用户输入4个字母的单词时,程序停止读入。
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#pragma warning(disable:4996)
#define N 21
int main(void) {
char temp[21] = { 0 }, largest[21] = { 0 }, smallest[21] = { 0 };
int i = 0;
while (1) {
fgets(temp, N, stdin);
if (smallest[0] == 0 )
strcpy(smallest, temp);
if (largest[0] == 0)
strcpy(largest, temp);
for (i = 0;i <= 20 ; ) {
if (temp[i] > largest[i]) {
strcpy(largest, temp);
break;
}
i++;
}
for (i = 0; i <= 20; ) {
if (temp[i] < smallest[i]) {
strcpy(smallest, temp);
break;
}
i++;
}
if (strlen(temp) == 4 + 1) break;
}
printf("%s", smallest);
printf("%s", largest);
return 0;
} 展开
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#pragma warning(disable:4996)
#define N 21
int main(void) {
char temp[21] = { 0 }, largest[21] = { 0 }, smallest[21] = { 0 };
int i = 0;
while (1) {
fgets(temp, N, stdin);
if (smallest[0] == 0 )
strcpy(smallest, temp);
if (largest[0] == 0)
strcpy(largest, temp);
for (i = 0;i <= 20 ; ) {
if (temp[i] > largest[i]) {
strcpy(largest, temp);
break;
}
i++;
}
for (i = 0; i <= 20; ) {
if (temp[i] < smallest[i]) {
strcpy(smallest, temp);
break;
}
i++;
}
if (strlen(temp) == 4 + 1) break;
}
printf("%s", smallest);
printf("%s", largest);
return 0;
} 展开
2个回答
2020-11-17 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
关注
展开全部
您好!您这个问题我也遇见过!以下是我的部分见解:你这个程序没有错误,只是你输入的时候要注意
输入语句这样写scanf("%d%c%s",&st.a,&st.b,st.c);
你输入的时候就应该这么输入,岩培配
如12ahello回车
这样输入,st.a得到12,st.b得到a字母 ,st.c得到hello
而不能
12空格a空格hello
这样输入将会得到如下结粗指中散果
st.a得到12,st.b得到空格字符 ,st.c得到a字符
自己可以试试看。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
输入语句这样写scanf("%d%c%s",&st.a,&st.b,st.c);
你输入的时候就应该这么输入,岩培配
如12ahello回车
这样输入,st.a得到12,st.b得到a字母 ,st.c得到hello
而不能
12空格a空格hello
这样输入将会得到如下结粗指中散果
st.a得到12,st.b得到空格字符 ,st.c得到a字符
自己可以试试看。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询