浙大版《C语言程序设计(第4版)》题目集参考答案
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
在一行中输出逆序后的字符串。
输入样例:
Hello World!
输出样例:
!dlroW olleH
提交结果:
基本思路:
直接打逆序打印字符串或者是从首尾往里逆序字符
代码实现:
1.直接逆序打印
#include<stdio.h>
#define MAXN 80
int main()
{
char str[MAXN] = { 0 };
int i = 0;
while ((str[i] = getchar()) != '\n')//回车结束的非空字符串
{
i++;
}
str[i] = '\0';
for (int j = i - 1; j >= 0; j--)//逆序输出
{
printf("%c", str[j]);
}
return 0;
}
2.逆序字符串
#include<stdio.h>
#include<string.h>
#define MAXN 81
int main()
{
char str[MAXN] = { '0' };
gets(str);
int life = 0;
int right = strlen(str) - 1;
while (life < right)//逆序
{
char tmp = str[right];
str[right] = str[life];
str[life] = tmp;
life++;
right--;
}
puts(str);
return 0;
}
欢迎提问和纠错,共同讨论一起进步!