c++编程求输入一个正整数(任意位数),倒序输出!

 我来答
czy7812
2017-07-02 · TA获得超过2670个赞
知道小有建树答主
回答量:518
采纳率:88%
帮助的人:189万
展开全部
【解题思路】
整数的逆序输出是很常见的题目,也比较简单。可以通过取余运算符(%)和除号(/)来完成,具体的思路如下:比如要对123逆序输出。
第一步是先对 123除以10取余数,这样就会得到3;
第二步是把123除以10取整,得到12,然后再把3*10+12%10,得到32;
第三步是把12除以10取整,得到1,然后再把32*10+1%10,得到321,
然后一直重复,直到原来的那个数为零。具体的代码如下:
  
【程序代码】
#include <iostream>                   //控制台操作头文件
  
int main()                            //主函数
{int A,B,C,i;                         //变量声明
 do{printf("请输入一个数字(0退出):"); //提示输入数字
    scanf("%d",&A);                   //从键盘输入数字赋值给A
    C=A;                              //让C等于A的值
    B=C%10;                           //让B等于C除以10取余数
    while(C=C/10) B=B*10+C%10;        //用循环让C实现倒序
    printf("%d倒序是%d\n\n",A,B);     //显示倒序的结果
    }while(A);
 system("PAUSE");                     //屏幕暂停,以便看到显示结果
 return 0;                            //结束程序
}
  
【运行结果】
以上程序在DEV  C++中运行通过

Li小八Li
2018-03-30 · TA获得超过711个赞
知道答主
回答量:15
采纳率:0%
帮助的人:2300
展开全部

第一种:

将第一种用for语句实现:

int  n;

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

scanf("%d",&n);

for(n;n!=0;n/=10)

printf("%d",n%10);

printf("\n");

第二种:

上面的方法存在多次调用printf函数的问题,而调用函数是需要额外的空间的时间的,这将会降低程序的运行速度。虽然在这里的调用次数并不多,但是这是应该考虑到的,

毕竟效率是评价程序的一个重要指标。

用一个变量来存储逆序后的数,只需调用一次printf函数。

int  n,m=0;//m为存储逆序整数的变量

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

scanf("%d",&n);


while(n!=0) {
m=m*10+n%10;
n=n/10;
}
printf("%d\n",m);

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
董俊锟djk
2013-04-13 · TA获得超过2551个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1021万
展开全部
#include<iostream>
using namespace std;
long fun(long m)
{
int n = 0;
while(m > 0)
{
n = n * 10 + m % 10;
m /= 10;
}
return n;
}

int main()
{
long m;
printf("请输入一个正整数:");
scanf("%ld",&m);
printf("%ld\n",fun(m));
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2013-04-13 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5697万
展开全部
用字符串。

#include<stdio.h>
#include<stdio.h>
main(){char s[500];
int i,L;
printf("input a positive integer data:\n");
scanf("%s",s);
L=strlen(s);
for (i=L-1;i>=0;i--) printf("%c",s[i]);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xk小飞侠
2013-04-13
知道答主
回答量:18
采纳率:0%
帮助的人:7.6万
展开全部
#include<stdio.h>
main()\
{
int i,temp;
printf("输入一个整数\n");
scanf("%d",&i);
printf("逆序:");
while(i>0)
{
temp=i%10;
printf("%d",temp);
i=i/10;
}
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式