展开函数
  • 板块学术版
  • 楼主andygao
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/8/13 10:48
  • 上次更新2023/11/4 10:49:59
查看原帖
展开函数
542705
andygao楼主2021/8/13 10:48

这段代码如何不用除main以外的自定义函数实现相同功能?

这里禁用void return define

#include <cstdio>
#include <cstdlib>

int n, m, a[311], b[311];

int foo(int a, int b, int c = 0){
	return a > b ? (b > c ? c : b) : (a > c ? c : a);
}

long long foo(long long a, long long b){
	return a > b ? a : b;
}

bool check(int a){
	for(int i = 1; i <= m; i++)
		for(int j = i + 1; j <= m; j++)
			for(int k = j + 1; k <= m; k++)
				if(a == b[i] + b[j] + b[k])
					return true;
	return false;
}

int main(){
	scanf("%d%d", &n, &m);
	printf("%d\n", foo(n, m));
	printf("%d\n", int(foo((long long)n, (long long)m)));
	for(int i = 1; i <= n; i++)
		scanf("%d", a + i);
	for(int j = 1; j <= m; j++)
		scanf("%d", b + j);
	for(int i = 1; i <= n; i++)
		for(int j = i + 1; j <= n; j++)
			if(check(a[i] + a[j]))
				printf("%d %d\n", a[i], a[j]);
	exit(0);
}
2021/8/13 10:48
加载中...