c语言逆序输出数字(100逆序输出为001C语言)
一、C语言,逆序输出数据
可以使用循环来逆序输出数据,具体代码如下:
```c
#include<stdio.h>
intmain(){
intarr[]={1,2,3,4,5};
intlength=sizeof(arr)/sizeof(int);
for(inti=length-1;i>=0;i--){
printf("%d",arr[i]);
}
return0;
}
```
首先定义一个整型数组`arr`,然后获取数组长度`length`。接着使用`for`循环,从数组末尾开始遍历,每次输出当前元素的值即可。
二、c语言如何逆序输出
①要求
将正整数或负整数
从个位开始逆序输出。
涉及三个变量,
n是原数,
m用于储存提取的个位数,
y用于储存重新组合的逆序数。
~
②定义函数
#include<stdio.h>
intfun(intn)
{intm,y};
/*给y赋初值,组合数在组合之前为0。*/
y=0;
/*给m赋初值,将原数n的绝对值赋值给m。
我试了,也可以直接m=n,删除y=(n>=0)?y:-y,结果一样有负号,绝对值具体还有什么用,等待大神解答。*/
if(n>=0)m=n;
elsem=-n;
/*当m不为0时,循环继续。
当m为0时,即提取到只剩一位数时,m=m/10=0,循环结束。*/
while(m!=0)
{y=y*10+m%10;
/*提取个位:m%10。
已经提取个位升为十位:y乘10。
逆序组合数:y。*/
m=m/10;}
/*降位提取个位:m/10
不断除10取整,屏蔽个位;
不断将十位降为个位,再提取;
直到只剩一位数,循环结束。*/
y=(n>=0)?y:-y;
/*将负数的负号恢复。*/
returny;
}
③主函数
{intm1,m2;
scanf("%d%d",&m1,&m2);
printf("%d的逆序是%d\t",m1,fun(m1));
printf("%d的逆序是%d\t",m2,fun(m2));
return0;
}
④思路整理
1.输入原数:n
2.求绝对值:m=|n|
3.提取个位:m%10
4.逆序组合:y=y*10+m%10
5.高位降位:m/10
6.恢复负号:y=(n>=0)?y:-y
三、C语言,如何输出逆序的三位数
要输出逆序的三位数,可以使用C语言的取余和除法运算符来实现。首先,通过取余运算符获取给定三位数的个位数,然后通过除以10取整来获取十位数,最后通过除以100取整来获取百位数。将这三个数字按相反的顺序输出即可得到逆序的三位数。
例如,对于输入的三位数123,通过取余运算符得到个位数3,通过除以10取整得到十位数2,通过除以100取整得到百位数1,最后按相反的顺序输出即可得到逆序的三位数321。