用二维数组编写程序。输入3个字符串,然后反向输出每个字符串以及字
用二维数组编写程序。输入3个字符串,然后反向输出每个字符串以及字符串的长度。这个程序怎么编啊?...
用二维数组编写程序。输入3个字符串,然后反向输出每个字符串以及字符串的长度。 这个程序怎么编啊?
展开
2个回答
展开全部
#include<stdio.h>
#include <string.h>
int main()
{
char str[5][20],temp[20];
int i,j,k,len[5],t;
printf("输入五个字符串:");
for(i=0; i<5; i++)
{
scanf("%s",str[i]);
len[i] = strlen(str[i]);
}
for(i=0; i<4; i++)
{
k = i;
for(j=i+1; j<5; j++)
{
if(len[k] > len[j])
{
k = j;
}
}
if(k != i)
{
memset(temp,0,20);
strcpy(temp,str[k]);
memset(str[k],0,20);
strcpy(str[k],str[i]);
memset(str[i],0,20);
strcpy(str[i],temp);
t = len[k];
len[k] = len[i];
len[i] = t; }
}
for(i=0; i<5; i++)
{
printf("%s ",str[i]);
}
return 0;
}
#include <string.h>
int main()
{
char str[5][20],temp[20];
int i,j,k,len[5],t;
printf("输入五个字符串:");
for(i=0; i<5; i++)
{
scanf("%s",str[i]);
len[i] = strlen(str[i]);
}
for(i=0; i<4; i++)
{
k = i;
for(j=i+1; j<5; j++)
{
if(len[k] > len[j])
{
k = j;
}
}
if(k != i)
{
memset(temp,0,20);
strcpy(temp,str[k]);
memset(str[k],0,20);
strcpy(str[k],str[i]);
memset(str[i],0,20);
strcpy(str[i],temp);
t = len[k];
len[k] = len[i];
len[i] = t; }
}
for(i=0; i<5; i++)
{
printf("%s ",str[i]);
}
return 0;
}
追问
不对!输不出答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询