乒乓球队进行比赛问题,杨辉三角问题"/>
两个乒乓球队进行比赛问题,杨辉三角问题
题目:
连个乒乓球队进行比赛,各出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~Yfor (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++){//每一行的第一个元素与最后一个元素都为1arr[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;}
结果:
更多推荐
两个乒乓球队进行比赛问题,杨辉三角问题
发布评论