for and if问题,求解

笑眯眯的网纹草 2023-09-12 14:38:43

有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x 开始算起,过了 n 天以后,小鱼一共累计游泳了多少公里呢?

输入格式

输入两个正整数 x,n,表示从周 x 算起,经过 n 天。

输出格式

输出一个整数,表示小鱼累计游泳了多少公里。

下面是我编写,请问哪里出错了,感谢~

#include <bits/stdc++.h>
using namepace std;
int main()
{   
    int x,n,s=0;
    cin>>x>>n;
    for(int i=x;i<=n+x-1;i++)//循环到N+X-1次结束
    {
        if(x!=6 && x!=7) s+=250;//不是周六也不是周日
    }
    cout<<s<<endl;
    return 0;
}

 

...全文
154 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

您的代码中有几个问题需要解决:

  1. 拼写错误:using namepace std; 应该是 using namespace std;
  2. for 循环中的变量 i 没有用到,但逻辑依赖于它。
  3. if(x!=6 && x!=7) 判断应该针对循环变量 i,而不是输入变量 x。
  4. 你需要用 i 来更新星期几,但代码中没有这样做。
    下面是修改后的代码:

```
#include <bits/stdc++.h>
using namespace std;

int main() {
int x, n, s = 0;
cin >> x >> n;

for (int i = 0; i < n; i++) {
    int current_day = (x + i - 1) % 7 + 1; // 计算当前是周几

    if (current_day != 6 && current_day != 7) {
        s += 250; // 不是周六也不是周日
    }
}

cout << s << endl;

return 0;

}

```c++

current_day 变量用于在循环内存储当前是星期几。这样我们就可以根据 current_day 判断是否要给 s 加 250。希望这能解决您的问题。

  • 举报
回复
@运维开发王义杰 多谢多谢,讲解的很详细,一下点出我的问题所在了,非常有帮助!
  • 打赏
  • 举报
回复
{ if(x%6 != 0 && x%7 != 0) { s+=250; } //不是周六也不是周日x++; }

65,174

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧