永发信息网

C++基础编程:输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值

答案:2  悬赏:30  手机版
解决时间 2021-03-21 23:26
求大神帮忙看看,输入三位数时,如果百位是1那么程序就是错的。。。比如输入123
#include
using namespace std;

int main()
{
int n,p,q=1;
int k=0,temp=1;
int sum=0,sum1=0;
int a[20];
cout<<"please input an number : "< cin>>n;

for(int i=0;i<20;i++)
{
a[i]=0;
}
for(int j=0;j<=n;j++)
{
if(n!=0)
{
p=n%10;
a[j]=p;
cout< n=n/10;
k++;
}
cout< }
for(int k=0;k<=20;k++)
{
sum+=a[k];
}
for(int m=1;m<=k;m++)
{
temp*=10;
a[k-m]*=(temp/10);
sum1+=a[k-m];
}
cout<<"它是"< cout<<"它各位数字之和为:"< cout<<"其逆值为:"<
return 0;
}
最佳答案
主要有两个问题:
1.    for(int k=0;k<=20;k++)
   {
       sum+=a[k];
   }中与前面重复定义了,可以将这里的k都改为l。
2. for(int j=0;j<=n;j++)这一句有问题,如果j跟n比的话,每次n都会是除后的商,如果刚好是1开头的数,那么最后一步时就不执行内部语句了。例如输入123,第三次循环判断时,n已经为1,但是j为2,故不执行for内部语句了。(你自己好好模拟下执行过程)
改进为:for(int j=0;j<=20;j++)
       PS:这种改法其实占用了很多无谓的命令,真正编程时尽量考虑减少执行时间的问题,不过还是可以解决你给的编程题的。
      打字不易,望采纳!!!
全部回答

#include "iostream.h" main() {    int f1,f2,f3,i;  for(i=100;i<=999;++i)  {   f1=i/100;   f2=i/10%10;   f3=i%10;    if (f1*f1*f1+f2*f2*f2+f3*f3*f3==f1*100+f2*10+f3)   cout<<i<<" "<<endl; }

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
跪求动漫棺姬嘉依卡第一、二季加OVA,720p百
如何查驾驶证信息查询,怎样查询自己的驾驶证
剑灵怎么卡摩天楼老一进度 剑灵卡摩天楼老一
如图所示,在矩形ABCD中,E为AD上一点,EF⊥C
怎么隐藏赞过的微博,我想隐藏赞过的微博…但
某溶液中溶质的摩尔质量为M g/mol,密度为ρg
陆河县河田镇上径村民委员会地址在什么地方,
一个乱七八糟的仓库 做仓管
在心灵感应游戏中绝大多数成员点的中式食物是
对朋友的生日祝福语,朋友生日祝福语、简单点
从“探究斜面”实验我们看出:利用斜面提升重
的重要性用英语怎么说,“角色”用英文怎么说
阜新东升煤业有限公司地址在什么地方,想过去
英国研究生 纽卡斯尔大学和 南安普顿大学该选
要五篇孝行日记,450字,快快快快快快
推荐资讯
教育学中,教师劳动的广延性是指的什么?
昨天,我的3ds用gw烧录卡砖了,开机黑屏。哪
iphone6能否将锁屏界面时间下移?
单选题按平均人口自然增长率由高到低排序正确
微信里的信息删掉了还可以找回来吗
Android实现类似QQ聊天的功能 怎么实现
作文新年愿望
解答题我国最早的文字是“甲骨文”,我国有文
第三方担保是什么意思,第三方责任险是什么意
明知道她不适合自己但还是很喜欢很喜欢她该怎
直流无刷电机,极对数相同,在不通电的情况下
为什么我养的3只巴西龟都不吃东西,现在都2月
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?