c语言加减问题

输入数据有多组,每组的第一行有三个正整数s,p和n,表示储蓄罐中一开始有s元钱,最多能存p元钱,n表示操作次数。接下来有n行,每行由一个字符c和正整数m组成,其中c可以取... 输入数据有多组,每组的第一行有三个正整数s,p和n,表示储蓄罐中一开始有s元钱,最多能存p元钱,n表示操作次数。
接下来有n行,每行由一个字符c和正整数m组成,其中c可以取字符x和y(x表示存钱,y表示取钱),m为存取钱的数量(单位:元)。
1<=s,n,m<=100,p<=10000
输入以EOF结束。
输出
每组输出为一个整数,表示储蓄罐中还有多少元钱。
对于每次操作,如果不可能完成,该次操作无效(不进行任何操作)。
样例输入
0 10 3
x 5
y 2
x 10
0 10 1
x 10
样例输出
3
10
展开
 我来答
祁梅花赧妆
2019-09-19 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.3万
采纳率:25%
帮助的人:970万
展开全部
for(k=0;a>8;b=++k)
for语句的格式为for(表达式1;表达式2;表达式3),先执行表达式1,且执行一次,然后依次循环执行表达式2、表达式3.由于++在前,先执行k加1的操作,再赋给b;
a--,由于--在后,先输出a的值,再做a-1的操作,--b
略。
此题目的解决突破口是搞清楚自加自减运算符的用法!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
合奕琛树妍
2019-05-17 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:27%
帮助的人:688万
展开全部
选B,首先a=10>8为真,因此执行循环语句,(1)输出a,即10;然后a--变为9;(2)在执行--b,b变为9,输出b即9;(3)b=++k=1
(4)a=9>8再次执行循环
(5)输出a即9,然后a--变为8
(6)执行--b,b变为0,输出b即0,b=++k=1;(7)a=8不大于8,循环条件为假,结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
充曼华理仪
2019-04-14 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:854万
展开全部
举两个例子
假设
b=1
k=2
b=++k
是先把K自身加1
最后b=k自身加1的数
这个打印出来结果是
b=3
k=3;
b=k++
是先b=k
然后k在自身加1
这个打印出来结果是
b=2
k=3;
++放在先后的意思就是一个早加
一个晚加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cabeng
2018-12-11 · TA获得超过755个赞
知道小有建树答主
回答量:801
采纳率:55%
帮助的人:484万
展开全部
#include<stdio.h>
int main()
{
int s, p, n;
char c;
int m;
int result[10000]; //这儿给的是10000组,如果不够用,就把这儿增大

int groupCount = 0;
int i;
while(scanf("%d%d%d", &s, &p, &n) != EOF){
while(n){
setbuf(stdin, NULL);
scanf("%c%d", &c, &m);
switch(c){
case 'x':
if(m + s <= p)
s += m;
break;
case 'y':
if(m <= s)
s -= m;
break;
}
n--;
}
result[groupCount++] = s;
}
for(i = 0; i < groupCount; i++)
printf("%d\n", result[i]);
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式