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;

}

如图所示:

温馨提示:答案为网友推荐,仅供参考