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

}

扩展资料:

反之正序输出

输入 : 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语言输入一个正整数n,将其逆序输出:

#include<stdio.h>

#include<stdlib.h>

int main(){

int a

while(scanf("%d",&a)!= EOF){

while(a>0){

printf("%d",a%10)

a = a/10

}

printf("\n")

}

return 0

}

运行结果如下:

扩展资料:

算法:

首先判断输入的正整数的位数,(例如1000=n<9999)

然后输出m(注意,C语言里方括号是取整运算符号)

//因为是整型运算,其实方括号可以省去

m=[n/1000]//【取出千位】

n-=1000*[n/1000]//【n只剩下三位】

m+=10*[n/100]//【取出百位】

n-=100*[n/100]// 【n剩下两位】

m+=100*[n/10]+1000*(n-[n/10])//【取出十位】

printf("d%",m)

#include<stdio.h>

int main()

{

int num

scanf("%d",&num)

int a,i

for(i = 0num >0i++)

{

a = num % 10

printf("%d",a)

num = num/10

}

return 0

}

分析:首先,输入的是一个整数,因此最前面一位数不是零,所以我们可以用除10取余法写。

a = num % 10

就是输出数字的最后一位

然后除10剔除数字最后一位,这样数字倒数第二位就会输出。以此类推,就能逆序输出数字。

拓展资料

for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。

C语言中的for循环如下

1.语句最简形式为:

for( )

2.一般形式为:

for(单次表达式条件表达式末尾循环体)

{

中间循环体;

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11837164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存