C语言输入一个正整数n,将其逆序输出。例如输入123,则程序将输出321
10个回答
展开全部
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);
展开全部
代码就不给你写了,提供算法吧。
首先判断输入的正整数的位数,(例如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);
首先判断输入的正整数的位数,(例如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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-02-19
展开全部
从后面往前面一位一位输出
#include<stdio.h>
int n;
int main()
{
scanf("%d",&n);
if(n<0){ // 负数
printf("-");
n=-n;
}
if(n==0) //特判0
printf("0");
else{
int ans=0;
while(n>0){ //一位一位地输出到ans里
ans=ans*10+n%10;
n/=10;
}
printf("%d",ans);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用不着递规。
#include <stdio.h>
int main()
{
int n = 123;
while( n != 0 )
{
printf("%d",n%10);
n=n/10;
}
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int n = 123;
while( n != 0 )
{
printf("%d",n%10);
n=n/10;
}
printf("\n");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询