1002

题目原址:http://www.patest.cn/contests/pat-a-practise/1002

注:

     1)我是一位一位存的结果。。(试图三位三位存,各种出错。。)

     2)最后一组测试数据老是格式错误,将输出格式改成:第一次输出不带空格,之后循环时先输出空格,之后正确。代码如下:

#include<stdio.h>
#include<string.h>

int main(){
	int n1, n2, num;
	int e1, e2;
	float c1[1010], c2[1010], ans[1010];
	int i, max, min, cnt;
	
	memset(c1, 0, sizeof(c1));
	memset(c2, 0, sizeof(c2));
	max = -1;
	min = 1001;
	
	scanf("%d", &n1);
	for(i = n1; i > 0; i--){
		scanf("%d", &e1);
		if(max < e1)
			max = e1;
		if(min > e1)
			min = e1;
		scanf("%f", &c1[e1]);
	}
	scanf("%d", &n2);
	for(i = n2; i > 0; i--){
		scanf("%d", &e2);
		if(max < e2)
			max = e2;
		if(min > e2)
			min = e2;
		scanf("%f", &c2[e2]);
	}

	num = 0;
	for(i = min; i <= max; i++){
		ans[i] = c1[i] + c2[i];
		if(ans[i])
			num++;
	}
	printf("%d", num);
	cnt = num;
	for(i = max; i >= min && cnt > 0 ; i--){
		if(ans[i]){
			printf(" %d %.1lf", i, ans[i]);
			cnt--;
			
		}
	}
	printf("\n");
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值