合并表记录

合并表记录

http://www.nowcoder.com/questionTerminal/de044e89123f4a7482bd2b214a685201

#include <stdio.h>
int main(void)
{
	int array[500] = { 0 };
	int num1, num2, length;
	scanf("%d", &length);
	for (int i = 0; i < length; i++)
	{
		scanf("%d %d", &num1, &num2);
		array[num1] += num2;
	}
	for (int i = 0; i < 500; i++)
		if(array[i])
			printf("%d %d\r\n", i, array[i]);
	return 0;
}

全部评论
如果出现输入的本身0 0那怎么办呢?小白一个有疑问
点赞 回复 分享
发布于 2020-03-11 14:55
显然有bug
点赞 回复 分享
发布于 2020-04-16 21:59
对的有bug,不能把值为0作为结束打印的标志.
点赞 回复 分享
发布于 2020-08-05 12:40
值为0没关系啊,字符0的ASCII码又不是0值
点赞 回复 分享
发布于 2020-08-16 01:03
输入索引是>500的数, array[num1] += num2;这个就不对了
点赞 回复 分享
发布于 2020-12-23 22:23
题目说了索引和数值是int范围的正整数了,哪来的0值。。C语言又没有可变数组,索引值最大范围题目也没给出,总不可能定义一个2^32大小的数组保存吧,500应该包含所有的测试用例了
点赞 回复 分享
发布于 2021-02-16 16:35
输出时的“\r”是什么作用啊?
点赞 回复 分享
发布于 2021-07-12 16:40

相关推荐

点赞 评论 收藏
分享
23 7 评论
分享
牛客网
牛客企业服务