一个编程题目 求看我的C++代码为何不能AC

有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x<=7)开始算起,请问这样过了n天以后,小鱼一共累计游泳了多少公里呢?

输入输出格式

输入格式:
输入两个整数x,n(表示从周x算起,经过n天,n在long int范围内)。

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

#include<iostream>
using namespace std;
int main()
{
long int a,b,x,n,s;
cin>>x>>n;
a=n/7;
b=n%7;//还剩几天
s=a*5*250;
if(x+b-1<=5)//最后不过周末
s+=b*250;
if(x+b-1==6)//最后是周六
s+=(b-1)*250;
if(x+b-1>6)//最后过了双休
s+=(b-2)*250;
cout<<s;
return 0;
}

/*有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),
假设从周x(1<=x<=7)开始算起,请问这样过了n天以后,小鱼一共累计游泳了多少公里呢?

输入输出格式

输入格式:
输入两个整数x,n(表示从周x算起,经过n天,n在long int范围内)。

输出格式:
输出一个整数,表示小鱼累计游泳了多少公里。*/
#include<iostream>
using namespace std;
int main()
{
long int x = 0;
long int n = 0;
long int count = 0; //总长度
cin >> x >> n;
for (long int i = 0; i < n; i++){ //I表示已经过了多少天
if (x == 6 || x == 7){
count += 0;
x++;
}
if (x <= 5 && x >= 1){
count += 250;
x++;
}
if (x>7){
x = x % 7;
}
}
cout << count << endl;;
return 0;
}
纯自己手打,求采纳,有问题可以私我~追问

对不起 你答非所问了

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-08
输入7 1,然后改代码吧追问

我从80改到90了【笑cry

麻烦再看看?
if(x7)//最后过了双休
s+=(b-2)*250;
}
else
{
if(b==1)
;else
s+=(b-1)*250;
}

追答

咦……你给出的这段,最后那个if...else可以简化下啊,直接b!=1就好啦

我按照你原先的代码改了下:

int main()
{
    long int a,b,x,n,s;
    cin>> x>> n;
    a = n/7;
    b = n%7;
    s = a*5*250;

    if (x+b > 5)
    {
        if (x <= 5)
            s += (6-x)*250;
        if (x+b > 7)
            s += (x+b-8)*250;
    }
    else
    {
        s += b*250;
    }
    cout << s;

    return 0;
}

本回答被提问者采纳
第2个回答  2016-07-08
为什么要-1呢?周四开始,游一天,就是周五了呀!再-1不还是周四吗?一天白游了?

一道C++程序题目求助
fp=fopen("message.out","w");fprintf(fp,"%d",rec[m+n-2][n-1][n-1]);fclose(fp);return(0);}

c++题目求大佬
因为我们都是学编程的,所以我们都需要思考(我的老师说的)不能直接抄代码,所以我不会直接上代码。所以我就先送上一份“奖学金”的代码来给一点启发。(当然如果一定需求这道题的AC代码的话也可以私聊我。(不推荐))include <bits\/stdc++.h>using namespace std;struct stu{ int num,c,m...

求这道题C++代码
我给你说个思路,你自己写。假如给的n 是一个五位数 ,假如等于45678.。那么m 的值介于 (45678-5*9)到(45678)之间。根据你的题意 :有如下等式 m + x = n;因为m 是五位数 .所以x的最大值是 5*9 = 45;所以m + 45 >= n;也就可以推断出 n-45<= m <= n; 在这个小的范围...

C++ 快速找多个元素中最大的元素怎么编程?求助高手!
return 0;楼主你看看我这个吧,AC了的,但我看不懂你代码,看看我的吧

一道编程题,请用C++ ,有较大难度,所以暂时给20分,如果能解决,我再给...
我保存下来 有时间看看 还有十四天关闭 。

求深信服技术支持笔试题目(赏20分)
可以在不同主机之间的:Unix的启动顺序排序。(A) Rc.X (B) Rc.sysinit (C) login (D) initDBAC进程的几个基本状态:就绪、执行、阻塞程序:现有1000个球,10个盒子,问各个盒子内应该分别放入多少个球,才能达到需要1至1000之间任何数量的球,你都可以用若干盒子组合出来(用C\/C++编写程序)1、2、4、8、16、32...

大学数学(计算机专业)
这门课有两个极端的讲法:一个是古典的“数值分析”,完全讲数学原理和算法;另一个是现在日趋流行的“科学与工程计算”,干脆教学生用软件包编程。我个人认为,计算机系的学生一定要认识清楚我们计算机系的学生为什么要学这门课,我是很偏向于学好理论后用计算机实现的,最好使用C语言或C++编程实现。向这个方向努力的...

求解编程题目<猜数字>C++\/C
又会提示长度不对;赋值为0000的话会提示重复数字 \/\/明明在读入的时候,初始赋值已经改变了。\/\/调试发现虽然inpt已经获得了输入,但是其长度却未改变,应该是接受输入的过程出错 \/\/根本原因在于用scanf读入CString对象的值。虽然能读入,但那只是一个临时值,随时 \/\/会发生“不可预知”的错误。

50个c\/c++源代码网站
在编程的世界里,C\/C++无疑是璀璨的明珠,它以其强大的功能和广泛的应用吸引着无数开发者。今天,我们将带你探索五十个精心挑选的网站,它们犹如知识的宝库,存储着数以千计至数万行的源代码,涵盖了实用的代码片段、创新的脚本、精妙的程序、令人惊叹的项目,乃至复杂的数据结构和算法,甚至是那些让你...

急解一个数据结构的题(C语言)
题目如下:两个一元多项式相乘的算法M(x)=A(x)*B(x)=A(x)*[b1X^e1+b2X^e2+...+bnX^en]也就是A(x)和B(x)都个是一个一元多项式。例如:M(x)=A(x)*B(x)=(2x^2+3x^3+4x^4)*(5x^2+6x^3+7... 题目如下: 两个一元多项式相乘的算法 M(x)=A(x)*B(x) =A(x)*[b1X^e1+b2X^...

相似回答