C语言输入五个字母,然后按照字典顺序排列后输出,哪里出错了
#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){inti,j;charword[5][20]...
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i, j;
char word[5][20];
char temp[20];
printf("5 words input:");
for (i = 0; i < 5; i++)
{
scanf("%s", &word[i]);
}
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 4;j++)
{
if (strcmp(word[i], word[j])>0)
{
strcpy(word[i], temp);
strcpy(word[j], word[i]);
strcpy(temp, word[j]);
}
}
}
printf("outputting after ordering:");
for (i = 1; i < 5; i++){
printf("%s",word[i][20]);
}
} 展开
#include<stdlib.h>
#include<string.h>
int main()
{
int i, j;
char word[5][20];
char temp[20];
printf("5 words input:");
for (i = 0; i < 5; i++)
{
scanf("%s", &word[i]);
}
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 4;j++)
{
if (strcmp(word[i], word[j])>0)
{
strcpy(word[i], temp);
strcpy(word[j], word[i]);
strcpy(temp, word[j]);
}
}
}
printf("outputting after ordering:");
for (i = 1; i < 5; i++){
printf("%s",word[i][20]);
}
} 展开
展开全部
你这是输入5个字符串排序的代码,不是输入5个字符排序的代码。
把
strcpy(word[i], temp);
strcpy(word[j], word[i]);
strcpy(temp, word[j]);改成
strcpy(temp,word[i] );
strcpy(word[i], word[j]);
strcpy(word[j], temp);
把for (i = 1; i < 5; i++)改成for (i = 0; i < 5; i++)。
把printf("%s",word[i][20]);改成 printf("%s ",word[i]);。
展开全部
//是输入5个字母还是 5个字符串?看你的程序像是五个字符串啊。
//按照5个字母的理解给你写了一个,有问题追问
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i, j;
char word[5];
char temp;
printf("5 words input:");
for (i = 0; i < 5; i++)
{
scanf("%c", &word[i]);
}
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5-i-1;j++)
{
if (word[j]>word[j+1])
{
temp=word[j];
word[j]= word[j+1];
word[j+1]=temp;
}
}
}
printf("outputting after ordering:");
for (i = 0; i < 5; i++){
printf("%c",word[i]);
}
getchar();
getchar();
getchar();
}
更多追问追答
追问
五个字符
也就是五个单词
字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询