#include <stdio.h> int main() { char arr[100]; gets(arr); int len=strlen(arr); for(int i=len-1;i>=0;i--) { printf("%c",arr[i]); } return 0; }
#include <stdio.h> #include <string.h> //思路:寻找非英文字母,若其后一个为英文字母则开始输出,否则不输出 int isEnglish(char c) { //判断是否为英文字母 int flag = 0; if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))//判断字符c是否为小写或大写英文字母 //是 flag = 1; else//不是 flag = 0; return flag; } int main() { char str[10001] = {0}; gets(str);//使用 gets 函数从标准输入读取一个字符串并存储在 str 中 int len = strlen(str); for (int i = len - 1; i >= 0; i--) //从字符串的最后一个字符开始,向前遍历每个字符{ if (isEnglish(str[i]) == 0 && isEnglish(str[i + 1]) == 1)//检查当前字符 str[i] 是否不是英文字母,而其后一个字符 str[i + 1] 是否是英文字母 { int j = i + 1; while (isEnglish(str[j]) == 1) { //一个单词 printf("%c", str[j]); j++; } printf(" "); } } //第一个字符为字母 if (isEnglish(str[0]) == 1) { printf("%c", str[0]);//如果 str[i + 1] 是英文字母,则继续检查并打印所有连续的英文字母,直到遇到非英文字母为止 int j = 1; while (isEnglish(str[j]) == 1) { //一个单词 printf("%c", str[j]); j++; } } return 0; }