输入一个整数  将各位数反转后输出

时间:2016.03.24 发布人:何芍叶

输入一个整数  将各位数反转后输出

已解决问题

谷歌何芍叶用户在2016.03.24提交了关于“会说话的汤姆猫2输入一个整数  将各位数反转后输出”的提问,欢迎大家涌跃发表自己的观点。目前共有3个回答,最后更新于2025-02-26T18:20:07。

#include<iostream.h>

intmain()
{
inti,d;
cout<<"请输入一个数字:"<<endl;
cin>>i;
cout<<"输出反转数:";
if(i!=0)
{
d==(i%10);
cout<<d<<endl;
i/=10;
}
else
{
cout<<"结束"<<endl;
}

}

各位大神能帮我看一下哪里有错吗为什么运行的结果是个不确定的数

希望大家能够帮助她。

详细问题描述及疑问:

#include<iostream.h>

intmain()
{
inti,d;
cout<<"请输入一个数字:"<<endl;
cin>>i;
cout<<"输出反转数:";
if(i!=0)
{
d==(i%10);
cout<<d<<endl;
i/=10;
}
else
{
cout<<"结束"<<endl;
}

}

各位大神能帮我看一下哪里有错吗为什么运行的结果是个不确定的数

期待您的答案,真心佩服你,谢谢 !
希望以下的回答,能够帮助你。

第1个回答

用户名:whoami1978  

扬探掌文改好的,参考下:

#include<iostream>
usingnamespac开来还体estd;

intmain()
{
inti,d;
cout<<"请输入一个数字:"<<endl;
cin>>i;
cout<<"输出反转数:"<<e注非ndl;
while(i!=0)//用while而if
{
d=(i%探本派往质绍机用久画检10);//不能用==
cout<<d<<endl;
i/=10;
}
cout<<"结束"<<endl;

}


第2个回答

用户名:奇来自迹帖candy  

#include<iostream>

usingnamespacestd;

intmain()

{

inti,d,f=0;

cout<<"请输入一个数字:"<<e不娘助久美测圆创守按模ndl;

cin>>i;

cout<<"输出反转数:";

while(i!=0)//这里要改成while,因为i是要不停的循环才能输出

{

d=(i%10);//这里有误!因为c/c++语言里面一般判断用==,赋值时候一般用=,不过有时候也会用==

cout<<d<<en问答dl;

i死每/=10;

f=1;

}

if(f==0)cout<<"结束"<<endl;

}

//一下程序是对于上纪地材措三的随排面说的"特殊情况"!

#include<cs存察房耐tdio>

#include<cstring>

usingnamespacestd;

intmain()

{

intd=1,h=2,b=3,t=4;

t=(d==1)+(h==4)+(苦第地天书劳最袁应b==3);//t=(d==1)+(h==鱼妒4)+(b==3)代表if(d==1)盾往愿虽见成立,t++;

printf("%d\n",t);

return0;

}


第3个回答

用户名:ccckz  

个人末据已谁意见:

关键的问题在这一句:d==(i%10);

原来的意思是得到古游者喜选达括希个位数,所以使用模10运算,(i%10)这是没错的

但是,得女考沿吗到的个位数是要赋值给d变量,赋值运算符是“=”,而不是“==”

C语言中“==”是逻辑运算符,计算结果是“==”前后两个表达式是否相等,如果相等,返回1,否则返回0,所以d==(i%10);并不能起到赋值作用,d的数字没有改变,而映局保源春且在变量定义的时候,d没有赋初值,所以,接下来执行cout<<d<<endl;时,d的值是变化的,而且不确定

改正意见:将语句:d==(i%10);改为:d=(i%10);再试试