将一个字符串str的内容颠倒过来,并输出。
数据范围:
#include <stdio.h> #include "string.h" int main() { char str[10000]; scanf("%[^\n]",str);//这将使scanf函数可以读取空格,而非遇到空格结束读取。 int i,length = strlen(str); for(i = length - 1; i >= 0; --i) { printf("%c", str[i]); } }
#include <stdio.h> #include <string.h> int main() { char arr[10000]={}; scanf("%[^\n]",arr); int len = strlen(arr); //printf("%d\n",len); for(int i=len-1;i>=0;i--){ printf("%c",arr[i]); } printf("\n"); return 0; }此处尝试了一下关于正则的使用,目前还没有系统的学习正则表达式,不过这道题还可以用gets函数处理scnaf所不能处理的空格问题
#include "stdio.h" #include "string.h" //双指针法 int main(void) { char str1[100]; int length, i, right, left; char temp; left = 0; gets(str1); right = strlen(str1)-1; while(left<right){ temp = str1[left]; str1[left] = str1[right]; str1[right] = temp; left++; right--; } printf("%s",str1); }
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char Buff[100]; char cTmp; int cnt = 0; while(scanf("%c",&cTmp) != EOF) { if(cTmp != '\n') { Buff[cnt++] = cTmp; } else { for(int i = cnt-1; i >= 0; i--) { printf("%c",Buff[i]); } printf("\n"); cnt = 0; } } return 0; }