两个乒乓球队进行比赛问题,杨辉三角问题

题目:
  连个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。以抽签结果决定比赛名单。有人向队员打听比赛名单,A说他不与X比,C说他不与X,Z比,请编程序找出3对赛手名单
思路:
  (1)设三个变量,变量i,j,k范围都是X,Y,Z,i代表A的对手,j代表B的对手,k代表C的对手(2)限制条件是比赛人员不能重复即 i!=k!=j (3)A不与X比,C不与X,Z比可以表示为i!=X k!=X&&k!=Z 
代码:

#include <stdio.h>
#include <stdlib.h>
int main(){
	//利用3层for循环把A,B,C,所对战的人出现的情况遍历一遍
	char i, j, k;
	//A对战i,B对战j,C对战k,范围都是X~Y
	for (i = 'X'; i <= 'Z'; i++){
		for (j = 'X'; j <='Z'; j++){
			for (k = 'X'; k <= 'Z'; k++){
				//比赛人员不能重复
				if (i != k&&i != j&&j != k){
					//A不与X比,C不与X,Z比
					if (i != 'X'&&k != 'X'&&k != 'Z'){
						printf("A->%c,B->%c,C->%c", i, j, k);
					}
				}
			}

		}
	}
	system("pause");
	return 0;
}

结果:
在这里插入图片描述
题目:
  输出以下的杨辉三角形(要求输出十行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
思路:
  (1)每一行的第一列与最后一列值为1
  (2)当前数=同一列上一个数+同一列上一个数的前一个数
代码:

#include <stdio.h>
#include <stdlib.h>
int main(){
	//创建二维数组
	int arr[10][10],j,i;
	for ( i = 0; i < 10; i++){
		//每一行的第一个元素与最后一个元素都为1
		arr[i][0] = 1;
		arr[i][i] = 1;
		for (j = 1; j < i; j++){
			//当前数 = 同一列上一个数 + 同一列上一个数的前一个数
			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
		}
	}
	for (int i = 0; i < 10; i++){
		for (j = 0; j <= i; j++){
			printf("%d\t", arr[i][j]);
		}
		printf("\n");
	}
	system("pause");
	return 0;
 }

结果:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值