morethansea 2016-03-19 16:15 采纳率: 100%
浏览 5387
已采纳

用c++语言编写s=1+(1+2)+(1+2+3)+````+(1+2+3+...+n) 程序错了

#include
using namespace std;
int main()
{
int n, sum;
cout << "请输入N:" << endl;
cin >> n;
for (int i = 1; i < n; i++)
{
for (int j = 1; j < i; j++)
{
sum = sum + j;
}

}
cout << "结果为:" << sum;
system("pause");
return 0;

}

  • 写回答

2条回答 默认 最新

  • 渔人大张 2016-03-19 16:54
    关注

    错误的地方:
    1、首先include后面没有包含
    2、sum 值没有初始化;
    3、sum是局部变量,for语句执行完成就释放了,应该定位为static变量
    4、for循环中应添加相等的情况,也就是注意边界。

    正常程序如下:
    #include
    using namespace std;
    int main()
    {
    int n;
    static int sum=1;
    cout << "请输入N:" << endl;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
    for (int j = 1; j <= i; j++)
    {

            sum = sum + j;
    
        }
    }
    cout << "结果2为:" << sum;
    system("pause");
    return 0;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作