#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;
}