VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 332|回复: 8

[已解决]刚入门新手遇到问题,请大佬帮忙!!!

[复制链接]
67_avatar_middle
最佳答案
0 
在线会员 发表于 2021-1-28 23:08:42 | 显示全部楼层 |阅读模式
10驿站币
为什么我这个无法打印啊?
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
        int sum = 0, s = -1, b = 0, c = 0, v = 0, w = 0;
        for (int a = 1;; s++)
        {
                c = (int)pow(10, s - 1);
                v = (int)pow(10, s);
                w = (int)pow(10, s + 1);
                for (; a <= v;)
                {
                        if (a >= c)
                        {
                                for (b += a % w; s > 1; s--)
                                        b -= a % v;
                                a++;
                                sum = sum + (int)pow(b, 2);
                                if (sum == a)
                                {
                                        cout << a << endl;
                                }
                        }
                }
        }
}        
最佳答案
87_avatar_small
2021-1-28 23:08:43
本帖最后由 cqzj70 于 2021-1-29 07:50 编辑
YBB 发表于 2021-1-29 07:42
可是我写了a++啊?难道位置不对?


if (sum==a) //不可能相等呀?所以永远不能打印输出
一见截图_202112823537267.png

最佳答案

查看完整内容

if (sum==a) //不可能相等呀?所以永远不能打印输出




上一篇:为什么我这什么都打印不出来呢?请求大佬帮忙!
下一篇:视频分享问题
87_avatar_middle
最佳答案
15 
在线会员 发表于 2021-1-28 23:08:43 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 cqzj70 于 2021-1-29 07:50 编辑
YBB 发表于 2021-1-29 07:42
可是我写了a++啊?难道位置不对?


if (sum==a) //不可能相等呀?所以永远不能打印输出
87_avatar_middle
最佳答案
15 
在线会员 发表于 2021-1-29 07:33:47 | 显示全部楼层
本帖最后由 cqzj70 于 2021-1-29 07:35 编辑

请问你循环变量 a自增了吗? 现在自增的是变量 s呀!
67_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-29 07:42:17 | 显示全部楼层
cqzj70 发表于 2021-1-29 07:33
请问你循环变量 a自增了吗? 现在自增的是变量 s呀!

可是我写了a++啊?难道位置不对?刚入门新手遇到问题,请大佬帮忙!!!
67_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-29 07:51:33 | 显示全部楼层
cqzj70 发表于 2021-1-29 07:46
if (sum==a) //不可能相等呀?所以永远不能打印输出

感谢大佬!
87_avatar_middle
最佳答案
15 
在线会员 发表于 2021-1-29 07:53:09 | 显示全部楼层
在这一句 sum = sum + (int)pow(b , 2);  b一直都是0,sum也是0,那这一句if (sum==a) 就有问题 sum一直是零 而 a一直在自增 两者能相等吗?
67_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-1-29 08:00:32 | 显示全部楼层
cqzj70 发表于 2021-1-29 07:53
在这一句 sum = sum + (int)pow(b , 2);  b一直都是0,sum也是0,那这一句if (sum==a) 就有问题 sum一直是 ...

原来如此,感谢感谢!!我可以私信你一个问题吗?
83_avatar_middle
最佳答案
1 
在线会员 发表于 2021-2-1 10:07:14 | 显示全部楼层
cqzj70 发表于 2021-1-29 07:53
在这一句 sum = sum + (int)pow(b , 2);  b一直都是0,sum也是0,那这一句if (sum==a) 就有问题 sum一直是 ...

兄弟,你说sum不会等于a是对的,但是b并不是一直都是0,b的值一直在递增,而且以a的值来递增,而sum的值以b的平方递增,所以sum不会等于a,也就不会执行cout<<a<<endl
83_avatar_middle
最佳答案
1 
在线会员 发表于 2021-2-1 10:12:14 | 显示全部楼层
YBB 发表于 2021-1-29 08:00
原来如此,感谢感谢!!我可以私信你一个问题吗?

你用IDE调试运行,单步执行你的代码就知道问题所在了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-9-26 08:57

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表