0
已采纳
宋梓涵
新手光能
新手光能
思路:
这道题要求要买尽量多的文件,所以应该多买价格低的,也就是尺子(3元)
先把x%3,(买尺子),用a,b,c分别表示钢笔,本子,尺子的数量
应该用switch或if判断以下几种情况:
1.如果余数为0,那么全买尺子
2.如果余数为1,那么为了不剩钱就去掉一个尺子,加上一个本子
3.如果余数为2,那么也是为了不剩钱去掉一个尺子,加上一支钢笔
(因为尺子的价格为3,所以不可能出现余数大于或等于3)
核心代码: int a,b,c,x,y; 输入>>x; c=x/3; y=x%3; switch(y) { case 0:a=0; b=0; break; case 1:a=0; b=1; c--; break; case 2:a=1; b=0; c--; break; case 3:a=1; b=1; c-=2; break; } 输出<<a<<" "<<b<<" "<< c;
宋梓涵在2018-09-13 19:34:17追加了内容
采纳的人是大帅哥!!!
1
傅文彬
新手天翼
新手天翼
思路如下:
若x/3没有剩的钱,则全买尺子;若x/3支3元的尺子,还剩1元,则3元的必少买一只,则4元的笔记本少买一个,换成一只5元的钢笔即可;若x/3个3元的笔记本,还剩2元,则4元的笔记本少买一本,换成一只5元的笔即可;
代码如下:
定义 a,b,c,x,y;
输入>>x;
c=x/3;
y=x%3;
switch(y) {
case 0: a=0; b=0; break;
case 1:a=0; b=1; c--; break;
case 2:a=1; b=0; c--; break;
case 3:a=1; b=1; c-=2; break;
}
输出<<a<<" "<<b<<" "<< c;
0
0