0
点赞
收藏
分享

微信扫一扫

2023全新付费进群系统源码 带定位完整版 附教程

左手梦圆 2023-11-19 阅读 27

蓝桥杯大赛历届真题 - C 语言 B 组 - 蓝桥云课 (lanqiao.cn)

 题目描述

 

 

对于此代码, 注释解释如下:答案:f(a,k+1,m-j,b);

在这里插入代码片#include <stdio.h>
#define N 6
#define M 5
#define BUF 1024
void f(int a[], int k, int m, char b[])
{
	int i,j;
	
	if(k==N){ 
		b[M] = 0;
		if(m==0) printf("%s\n",b);
		return;
	}
	for(i=0; i<=a[k]; i++){//有k个国家,每个国家填i个人
		for(j=0; j<i; j++) //有几个i就填几个i对应的国家
		b[M-m+j] = k+'A';
		  f(a,k+1,m-j,b);  //填空位置
	}
}
int main()
{	
	int  a[N] = {4,2,2,1,1,3};
	char b[BUF];
	f(a,0,M,b);
	return 0;
}

举报

相关推荐

0 条评论