两种方式实现:
1) 用scanf输入存放到一个字符数组,然后逆序拷贝到另一个字符数组,然后输出
#include <stdio.h> #include <string.h> int main(void) { char strinput[100]; scanf("%[^\n]", strinput); //除了换行符以外的字符全部接收 char stroutput[100]; int i = 0; int j = 0; int len = strlen(strinput); //逆序拷贝 for (i = len - 1; i >= 0; i--) { stroutput[j++] = strinput[i]; } stroutput[j] = '\0'; printf("%s\n", stroutput); return 0; }
2) 用getchar接收一个个字符存放在数组中,然后逆序putchar输出
#include <stdio.h> #include <string.h> int main(void) { char c; char output[100]; int index = 0; int i = 0; while ((c = getchar()) != EOF && c != '\n' && i <= 100) { output[index++] = c; i++; } //output[index] = '\0'; for (i = index - 1; i >= 0; i--) { putchar(output[i]); } //putchar('\n'); return 0; }
0.0分
135 人评分
还行吧 #include <stdio.h> #include <string.h> #define CH 100 int main() { int i; char character[CH]; scanf("%[^\n]",character); //gets(character); i = strlen(character); character[--i] = character[i]-'\0'; for(i-3;i>=0;i--) printf("%c",character[i]); return 0; }
#include<stdio.h> int main() { char a[100],b[100]; int i=0; while((scanf("%c",&a[i]))!=EOF) { i++; } for(;i>=0;i--) { printf("%c",a[i]); } return 0; } 为什么不对?
/*将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。*/ #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { char str[100]; int i,count; scanf("%[^\n]", str); count = strlen(str); for (i = count-1; i >= 0; i--) { printf("%c", str[i]); } return 0; } 呜哈。
洛阳 2020-11-30 15:27:30 |
#include <string.h>
#include <stdio.h> #include<string.h> int main() { char a[128]; int length; gets(a); length=strlen(a); while(length-->-1) printf("%c",a[length]); } 大佬们这个错在哪,通不过
月儿会弯 2021-02-06 12:20:31 |
因为你没有把换行符' '去掉 你可以在while语句前加一个a[--length] = a[length]-' '; 这样就正确了
#include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h> int main () { char str[100]; scanf ("%[^\n]",str); printf ("%s",strrev(str)); return 0; } 大佬,这个怎么会编译错误的
求大佬解释一下为什么错了#include<stdio.h> int main() { char str[101],s; int i=0; scanf("%c",&s) ; while(s!='\n') { str[i] = s; i++; scanf("%c",&s) ; } i = i-1; while(i>=1) { printf("%c",str[i]); i--; } printf("%c",str[i]); return 0; }
梨涡是胖的呀 2020-02-06 09:21:26 |
因为scanf碰到空格tab就停止接受了
月儿会弯 2021-02-06 11:53:33 |
@jaylove 但是我刚刚用他的代码也能输出空格 ,而且字符个数包括空格的数量是对的上的 也能输出正确
月儿会弯 2021-02-06 11:54:00 |
老是说数组越界了
月儿会弯 2021-02-06 11:54:19 |
#include<stdio.h> int main() { char str[100],s,a=0; int i=0; scanf("%c",&s) ; while(s!=' '&&i<=100) { str[i] = s; i++; scanf("%c",&s) ; } i = i-1; while(i>=a&&i!=-1) { printf("%c=%d",str[i],i); i--; } return 0; }
#include<stdio.h> #include<string.h> int main() { char str[100]; gets(str); puts(strrev(str)); return 0; } 直接用倒转字符串strrev()为什么编译错误。。。。
信 2020-03-18 18:50:41 |
大佬,你现在知道为啥了吗,,,知道解释一哈M,,
C语言训练-自由落体问题 (C语言代码)浏览:1733 |
【密码】 (C语言代码)浏览:333 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1029 |
IP判断 (C语言代码)浏览:533 |
格式化数据输出 (C语言代码)浏览:811 |
C语言训练-大、小写问题 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:662 |
1162答案错误,为什么浏览:640 |
三角形 (C语言代码)浏览:653 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:622 |
月儿会弯 2021-02-06 10:45:24 |
i可以不用减3 我忘记删除了 不删编译也没问题