用二维数组编写程序。输入3个字符串,然后反向输出每个字符串以及字符串的长度。 这个程序怎么编啊?
第1个回答 2016-05-30
#include<stdio.h>
#include <string.h>
int main()
{
char str[3][80];
int i,j;
printf("输入3个字符串:\n");
for(i=0; i<3; i++)
gets(str[i]);
for(i=0; i<3; i++)
{
for(j=strlen(str[i])-1;j>=0;j--)
printf("%c",str[i][j]);
printf(" 长度=%d\n",strlen(str[i]));
}
return 0;
}
本回答被提问者采纳第2个回答 2016-05-30
#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;
}追问
不对!输不出答案