C语言整数正序、反序和倒序输出?

如题所述

定义一个整数类型的输入,然后让它正序输出,倒序输出相信是很多C语言初学入门一定会遇到的经典题目,下面就是我对整数的正序和倒序输出一点小小的总结.

1. 反序(倒序)输出

反序输出常用的思路就是按位取余,把取出来的值进行循环保存。

int main()

{

int i=12345; //定义一个12345的整数

int temp=0;//temp作为存储的值 

while(i!=0){

temp = temp*10 + i%10;

i/=10;  

}  //反序取出来

printf("%d",temp); //打印

return 0;

}

如图所示:

2, 正序输出

正序输出会用在整形变量正序输出转换成对应的字符数组,或者倒过来.常用思路就是定义一个函数,在函数内递归取余调用自身,实现功能。

输入 : 12345

输出 :"12345"

如下:

char str(int x)

{

char a[100];//存放整数转换过来的字符

int i;   //计数

if(x/10!=0)

str(x/10);

if(x>=0)

a[i]='0'+x%10;  //整数转换成字符存储,字符都是以整数形式存储

else

a[i]='0'+(-x)%10;//整形包括负数

printf("%c",a[i++]);

}

int main()

{

int i;

printf("请输入一个整数:\n");

scanf("%d",&i);

str(i);

return 0;

}

如图所示:

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言整数正序、反序和倒序输出?
1. 反序(倒序)输出 反序输出常用的思路就是按位取余,把取出来的值进行循环保存。int main(){ int i=12345; \/\/定义一个12345的整数 int temp=0;\/\/temp作为存储的值 while(i!=0){ temp = temp*10 + i%10;i\/=10;} \/\/反序取出来 printf("%d",temp); \/\/打印 return 0;} 如图所示...

c语言中如何实现输入一个整数实现倒序输出
1、新建一个工程和.c文件,输入头文件和主函数 2、声明被调用的函数,定义变量类型 3、输入整数 4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号 5、调用一个函数 6、定义函数的返回类型和形参类型 7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句 8、通过...

C语言里输入一个正整数,如何让它逆序输出?
int i=12345; \/\/定义一个12345的整数 int temp=0;\/\/temp作为存储的值 while(i!=0){ temp = temp*10 + i%10;i\/=10;} \/\/反序取出来 printf("%d",temp); \/\/打印 return 0;}

C语言程式设计:输入一个整数并能逐位正序或反位输出,用递回完成。
C语言程式设计:输入一个整数并能逐位正序或反位输出,用递回完成。 一、问题分析:要把整数逐位输出,无论正序还是反序,都需要将各个位分离。在C中的做法就是,通过对10取余,取出个位,然后通过除以10,起到“移位”的效果。二、演算法设计:1、输入要处理的整数;2、取出各位;3、递回呼叫...

C语言怎么反序输出
最简单的反序输出,就是把数组反序输出。只需要从最大下标开始,向0下标循环输出就可以了。比如将字符串(字符数组)反序输出的代码如下:void reverse_output_str(char *str){ int len = strlen(str) -1;\/\/得到最大下标 while(len >= 0)printf("%c", str[len--]); \/\/反序输出直到...

C语言:由键盘输入10个整数,倒序输出
思路:先输入10个数赋值给数组a,接着倒序输出该数组即可。参考代码:include<stdio.h>int main(){int i,a[10];for(i=0; i<10; i++)\/\/正序输入 scanf("%d", &a[i]);for (i=9; i>=0; i--)\/\/倒序输出 printf("%d ", a[i]); return 0;}\/*0 1 2 3 4 5 6 7...

c语言正序和倒序输出数
1:数组的下标是从0开始的 int number[10],定义一个10元素的数组,则下标只能是从0-9,不会出现 number[10]=??这种情况,出现就越界了。2:printf("you entered %d \\n",number[i]);你输入用了循环输入10个数,你输出一个数组,就想一次输出??也需要循环一个一个输出啊!!3:逆序的...

C语言编程题 给一个不多于4位的正整数,求出它是几位数,并正序和逆序打...
int i=0; \/\/输入的数字 int n=0; \/\/几位数 int a[50]; \/\/存放每位的数字 printf("输入一个整数:");scanf("%d",&i);while(i!=0){ a[n]=i%10;i\/=10;n++;} printf("是%d位数\\n",n);for(int j=0;j<n;j++) \/\/逆序输出 printf("%d",a[j]);printf("\\n");fo...

C语言如何做正序输出
正序输出 一般用在数组中 从数组的第一个元素 开始输出 一直到最后一个 比如 int a[10];就可以 int i;for(i = 0; i < 10; i ++)printf("%d ",a[i]);这样就是正序了。

C语言编程,编程实现怎样将一个数组逆序输出
1、首先打开软件VC++6.0软件,准备一个空白的C语言文件,引入头文件并写好主函数:2、然后输入代码,首先定义数组,接着用一个for循环接受用户输入的数组元素并将其打印到屏幕上,并保存到前面的数组中,然后用第二个for循环逆序排序,方法就是前面的元素和后面的元素比较大小,前面比后面小就交换顺序...

相似回答
大家正在搜