编写程序,输入一个以回车符结束的字符串(少于 80个字符),将该字符串按逆序输出?
解题思路:
声明一个大于或等于80长度的字符数组,例如char a[100]。
使用gets()函数输入字符串,该字符串以回车符作为结束标记。
获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。
注意:获得字符串长度可以用<string.h>库的strlen()函数,该函数返回字符串的实际长度,其中不包含空字符。
测试代码:
#include <stdio.h>
#include <string.h>
int main()
{
char a[100] = {0};
gets(a);
int len = strlen(a);
for (int i = len - 1; i >= 0; i--)
printf("%c", a[i]);
return 0;
}
#include <stdio.h>
#include <string.h>
int main( )
{
char string[80];
int n;
gets(string);
n=strlen(string);
while(n--)
printf("%c",*(string+n));
printf("\n");
return 0;
}
扩展资料:
java程序:
import java.util.Scanner;
public class chuan{
public static void main(String args[]){
Scanner sca = new Scanner(System.in);
String str = sca.nextLine();
StringBuffer sb = new StringBuffer(str);
System.out.print(sb.reverse().toString());
}
}
2020-03-12
#include <stdlib.h>
#include <string.h>
int main()
{
char buff[128];
printf("请输入一个字符串(少于80)");
gets(buff);
int len = strlen(buff)-1;
int i = 0;
for (i = 0; i < len / 2; i++)
{
char temp = buff[i];
buff[i] = buff[len - i];
buff[len - i] = temp;
}
printf("%s", buff);
return 0;
}