acm(蓝桥杯)在哪刷题以及如何答题之利用scanf的返回值

     这两天终于把数据结构和算法学完了,真是不容易,其实也不能说学完了,就是在脑子里面过了一遍。今也在各大网站看了一下题目,发现牛客网和letcode是很多人选择,但我看这两个都是面向对象答题的,也就是写接口函数(我对接口函数理解不深,也就是简单认为写主要函数)但我看这个不适合竞赛,因为竞赛需要写出完整代码,包括上两个没有给的主函数,所以我苦苦搜索,最后找到了蓝桥杯官网的题目。感觉这就是一个卖课网站,因为题啥都没分类,就随便给了点题,完整题目还要买,于是我又开始苦苦搜索,希望可以在里面找到题目分类。

        终于我看了一篇博客后,找到了一个好网站,推荐大家也去,这里题是免费的,题目全,分类全,acm和蓝桥杯真题也有,这就是c派的福音,我在网上搜资料,大多都是c++,java,尤其是洛谷,这不就一个c++网站吗。

        花了一块大洋,在该网站买了一个答题的一个流程小课程。学了一个东西,来和大家分享。

        此题是acm1085题,题目为英文,翻译出来大概就是两数相加,我一看这好家伙,这不直接scanf,printf吗,不出意外,这是错误想法,代码如下

#include<stdio.h>
int main(){
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d\n",a+b);
}

1 3
4

--------------------------------
Process exited after 4.929 seconds with return value 2jie

结果如上。

但报错,然后我想为什么,看了结果,哦~~~~~~~~~~~~

重点在这,题目中明显说了consist of,后面样例和结果是这样的

输入样例
2 3
4 5


输出样例
5
9

 哦,它是连续的,我这么写只有一次,果然阴险。

所以用到一个scanf的返回值,

#include<stdio.h>
int main()
{
	int a,b;
	while(scanf("%d%d",&a,&b))//利用scanf的返回值
	{
		
	}
	printf("%d\n",a+b);
	return 0;
}

但这样还是不对,尽管用了一个while循环,将scanf嵌入进去但这样的样例结果是这样的

1 2 3
1 2 3 4 4 5
e
9

--------------------------------

 那么我们可以知道,将printf放到scanf的while循环外后,所得到的结果是输入的个数,不是总和,那么就放到里面,放了,但还是缺点啥,于是改进后我我们得到了最终版本

#include<stdio.h>
int main()
{
	int a,b;
	while(scanf("%d%d",&a,&b)==2)
	{
		printf("%d\n",a+b);
	}
	
	return 0;
}

结果为

1 2
3
5 6
11
e

--------------------------------

如上,为连续处理。

以上。 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值