题目描述
输入多行字符串,把这些字符串逆序且反转输出。
输入
输入多个(小于30个)字符串,每行一个字符串,字符串长度不超过30
输出
把字符串反转逆序输出。逆序指最后输入的字符串最先输出,反转指把每句话的字母都倒过来输出。
提示
由于没讲具体输入多少行字符串,因此,采用条件为gets(...)!=NULL的循环来实现,在VC6中运行时,输入Ctrl+Z结束输入
#include<stdio.h>
#include<string.h>
void nixu(char* str)
{
int left = 0;
int right = strlen(str) - 1;
for (left=0,right=strlen(str)-1;left < right;left++,right--)
{
char temp = str[left];
str[left] = str[right];
str[right] = temp;
}
}
int main()
{
char lines[30][30];
int count = 0;
while (gets(lines[count])!=NULL&&count<30)
{
count++;
}
int i;
for (i = count-1; i >=0; i--)
{
nixu(lines[i]);
printf("%s\n", lines[i]);
}
return 0;
}
如果使用fgets,则
while (fgets(lines[count], sizeof(lines[count]), stdin) != NULL && count <= 30)