预定程序员 2023-08-03 21:50 采纳率: 67.4%
浏览 12
已结题

openjudge 1.5金币,C语言问题

问题:第7行for循环中,i是描述第几天的变量,例如样例,n等于6,那i根本不可能到6,最大只能为3,那为什么还要写i<=n,感觉没有意义,而且在openjudge中不写i<=n,第7行这样写for(i=1;;i++),运行时不对,这是为什么?

题目:国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。

你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。

输入
一个整数(范围1到10000),表示天数。
输出
骑士获得的金币数。
样例输入
6
样例输出
14


```c
#include<stdio.h>
#include<math.h>
int main()
{
    int i,n,all=0,count=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        for(int j=0;j<i;j++)
        {
            all+=i;
            count++;
            if(count==n)
            {
                printf("%d",all);
            }
        }
    }
    return 0;
} 

```

  • 写回答

2条回答 默认 最新

  • P2441M 2023-08-03 22:10
    关注

    i <= n 是起到限制作用,如果不写这个条件就是任由 i 加下去而不停止,就会溢出,产生意外的结果。

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

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 创建了问题 8月3日

悬赏问题

  • ¥15 VS2022 C++的相关代码问题咨询
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码