0
点赞
收藏
分享

微信扫一扫

CCF小明种苹果201909-1(C语言)

萨科潘 2022-03-17 阅读 57
c++c语言

题目:

 

代码:

80分代码

#include<stdio.h>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
int apple[1100][1100];

int main()
{
	int N,M;
	scanf("%d %d",&N,&M);
	for(int i=0;i<N;i++)
	{
		for(int j=0;j<M+1;j++)
		{
			scanf("%d",&apple[i][j]);
		}
	}

	int T=0;
	int sum_sg[1500],beiyong[1500];
	for(int i=0;i<N;i++)
	{
		T+=apple[i][0];
		for(int j=1;j<M+1;j++)
		{
			sum_sg[i]+=abs(apple[i][j]);
			beiyong[i]=sum_sg[i]; 
		}
		T-=sum_sg[i];
	 } 
	 sort(sum_sg,sum_sg+N);
	 for(int i=0;i<N;i++)
	 {
	 	if(sum_sg[N-1]==beiyong[i])
	 	{
	 		printf("%d %d %d",T,i+1,beiyong[i]);
	 		break;
		 }
	 }
	 
	return 0;
}

 100分代码:(将两个数组都定义到函数外面,就100分了...)

#include<stdio.h>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
int apple[1100][1100];
int sum_sg[1500],beiyong[1500];
int main()
{
	int N,M;
	scanf("%d %d",&N,&M);
	for(int i=0;i<N;i++)
	{
		for(int j=0;j<M+1;j++)
		{
			scanf("%d",&apple[i][j]);
		}
	}

	int T=0;
	
	for(int i=0;i<N;i++)
	{
		T+=apple[i][0];
		for(int j=1;j<M+1;j++)
		{
			sum_sg[i]+=abs(apple[i][j]);
			beiyong[i]=sum_sg[i]; 
		}
		T-=sum_sg[i];
	 } 
	 sort(sum_sg,sum_sg+N);
	 for(int i=0;i<N;i++)
	 {
	 	if(sum_sg[N-1]==beiyong[i])
	 	{
	 		printf("%d %d %d",T,i+1,beiyong[i]);
	 		break;
		 }
	 }
	 
	return 0;
}

本题要注意最后输出蔬果数量最多的数量时要注意,如果要使用排序后的数组进行输出,就是数组最后一个数字;如要使用原数组进行输出,则输出的数组下标为第一个匹配到的(i)。

举报

相关推荐

0 条评论