#include <stdio.h>
int main()
{
char c,i,a[80];
gets(a);
for(i=0;i<80;i++)
{
printf("%c",a[80-i]);
while(a[80-i]=='\0')
break;
}
}
输出的结果前面多出很多奇怪的字符,求大神帮我指导指导。
就我这个应该怎么改呢?我只是想写个最简单的,但是没想到会有这么多奇怪的字符
本回答被网友采纳C语言 逆序输出文本时为什么会每一行后面都多一行空白行?求高手解答...
首先告诉你这是正常现象。要克服的话把逆序函数改如下:void Reverse(FILE *fp){ long int flenth; char ch;\/\/这里加一个变量 fseek(fp, 0L, SEEK_END); flenth = ftell(fp); for(long int i = 1; i <= flenth; i++){ fseek(fp, -i, SEEK_END); putcha...
c语言 逆序输出。。这个程序为什么会输出3210?
当n为0还输出了一次啊 你在第一行加上if(n == 0)return;这样就好了。
c语言程序 输入一字符串存入数组中,逆序存放并输出
这篇文章主要讲解如何使用C语言编程,将用户输入的字符串逆序存储在原数组中,并输出结果,无需调用内置的字符串处理函数。例如,当我们输入字符串 "hello" 和 "world",程序会将它们逆序变成 "dlrow" 和 "olleh"。字符串在C语言中,本质上是字符数组,每个字符占用数组的一个位置。值得注意的是,字符...
C语言 逆序输出问题
include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ char *p; char c[] = " "; char s[1024],*t,z[1024]; int flag = 1; while(gets(s)){ if(s[0] == '#'){ } else if(s[0] != '#'){ p = strtok(s,c); ...
用C语言写 字符串逆序输出
逆序输出有很多种,具体的实现方法取决于你题目的要求1. 如果只是要求逆序输出,那么可以采用类似的方法:void reverse(char *s){if(*s=='\\0')return;reverse(s+1);printf("%c",*s);}这种方法在s很长的情况下会一直递归到底,不是很好。2. 如果需要将字符串整个逆序在函数外面输出,那么可能...
...一个字符串按反序存放,在主函数中输入和输出字符
问题很简单:你根本就没有翻转字符串!!!第一,你在调用char yuan(char a)后,用什么来接受它的返回值?对吧,在主函数中根本没有任何char组来接受它。你似乎可以将 gets(a);后的语句改写成 a = yuan( a ); 然后输出。告诉你这也样行不同的,只因为接下来的第二点。第二,你的yua...
C语言:一个四位整数逆序输出
scanf函数实际上是有问题的,%d的话会取到输进去的四位整数的值给了a,其他几个数并没有被赋值。要不这里你就用%c取字符,不然的话就用楼上讲的方法。其实只需要用字符取数,然后控制字符输出顺序来输出时最简单的了,如果有需要再转换成数字就行了 ...
c语言写:输入一个三位正整数,然后逆序输出。如输入123,则输出321...
不用调换那么麻烦,你输出的时候倒序输出就可以了 for(i=2;i>=0;i--){ printf("%d",a[i]);}
为什么会是这样输出的呀?C语言逆序数输出问题?
scanf("%d%*c",&n); \/\/这句改成这样,再试试,去掉回车确认符 include<stdio.h>#include<string.h>void main(){char a[100];int p,n,i;scanf("%d%*c",&n);for(i=0;i<n;i++){scanf("%s", a); \/\/p=strlen(a)-1;for(p;p>=0;p--){printf("%c",a[p]);}printf(...
c语言程序 输入一字符串存入数组中,逆序存放并输出
对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来的字符数组中,最后输出。(不得调用任何字符串处理函数),例如:输入 hello world 输出 dlrow olleh