首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C++中将数字添加到其自身

在C++中将数字添加到其自身
EN

Stack Overflow用户
提问于 2021-09-15 11:58:58
回答 2查看 304关注 0票数 0

哪种最简单的方法是递增地将数字加到自身,直到达到某个条件?在下面的代码中,我们可以通过简单地将event_occurence添加到事件本身,直到到达max_events,来计算事件何时发生。我知道使用std::IOTA和向量可以做到这一点,但我希望它尽可能地保持最简单的数学运算。

我的想法是使用: i=1,i*要相乘的数字,对于i<=some值,i++。但只有第一个值正确递增。

代码语言:javascript
运行
复制
int main()
    
    {
        int curent_year = 2021;
        int input_year;
        int event_occurence = 4;
    
        std::cout << "When did you watch your first World Cup?" << std::endl;
        std::cin >> input_year;
    
        int max_events = (curent_year - input_year) / event_occurence;
        int last_event = input_year + (max_events * event_occurence);
        int next_first_event = input_year + event_occurence;
                
        std::cout << "Next world cup was held in " << next_first_event << "... Meanwhile, another " << max_events << " world cups took place. The last world cup took place in " << last_event <<"." << std::endl;
    
        int i=1;
        int inbetween_events = input_year + i * event_occurence;
        for (int i = 1; i <= max_events; i++)
                std::cout << "The were also these worlds cups held in the following years: " <<inbetween_events <<std::endl;
        
        } 

code above compiled

EN

Stack Overflow用户

发布于 2021-09-15 12:30:13

代码语言:javascript
运行
复制
    int i=1;
    int inbetween_events = input_year + i * event_occurence;
    for (int i = 1; i <= max_events; i++)
            std::cout << "The were also these worlds cups held in the following years: " <<inbetween_events <<std::endl;
    
    } 

问题1:您正在使用一个局部变量(在CPU寄存器中计数),该变量的名称与function for (...)的父变量的名称相同。你可以在这里声明"int = 1",意思是"make new temp variable name i,value =1“。

移动"calc“

代码语言:javascript
运行
复制
int inbetween_events = input_year + i * event_occurence;

如果您想打印出一系列数字(print inbetween_events = input_year +i* event_occurence;),或者

代码语言:javascript
运行
复制
for (; i <= max_events; i++) 

代码语言:javascript
运行
复制
for (i = 1; i <= max_events; i++)

这可以工作,但我不能测试它:,你可以改变变量的名称,但它仍然是非常无效的,因为你会在循环中增加一个变量,进行两次操作而不是一次操作。

问题2:你也没有在"for“循环中增加"inbetween_events”。你要求它打印出那个变量"i“次。你把这个变量初始化为算术运算的输出,它不会改变它的值,除非你命令它改变它。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69192706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档