C语言入门-----九

//1.
//5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
//A选手说:B第二,我第三;
//B选手说:我第二,E第四;
//C选手说:我第一,D第二;
//D选手说:C最后,我第三;
//E选手说:我第四,A第一;
//比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

#include<stdio.h>
#include<stdlib.h>
int main(){
	for (int A = 1; A < 6;	A++){
		for (int B = 1; B < 6; B++){
			for (int C = 1; C < 6; C++){
				for (int D = 1; D < 6; D++){
					for (int E = 1; E < 6; E++){
						if ((B == 2 && A != 3) ||
							(B != 2 && A == 3) == 1){
							if ((B != 2 && E == 4) ||
                            (B == 2 && E != 4) == 1){
								if ((C == 1 && D != 2) ||
									(C != 1 && D == 2) == 1){
									if ((C == 5 && D != 3) ||
										(C != 5 && D == 3) == 1){
										if ((E == 4 && A != 1) ||
											(E != 4 && A == 1) == 1){
											if (A!=B&&A!=C&&A!=D&&A!=E
												&&B!=C&&B!=D&&B!=E
												&&C!=D&&C!=E
												&&D!=E)
											printf("他们的名次分别是:A:%d,B:%d,C:%d,D:%d,E:%d\n", A, B, C, D, E);
										}
									}
								}
							}
						}

					}

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

//2.
//日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
//嫌疑犯的一个。以下为4个嫌疑犯的供词。
//A说:不是我。
//B说:是C。
//C说:是D。
//D说:C在胡说
//已知3个人说了真话,1个人说的是假话。
//现在请根据这些信息,写一个程序来确定到底谁是凶手


#include<stdio.h>
#include<stdlib.h>
int main(){
	for (int a = 0; a < 2; a++){
		for (int b = 0; b < 2; b++){
			for (int c = 0; c < 2; c++){
				for (int d = 0; d < 2; d++){
					if ((a == 0 && c == 1 && d == 1) ||
						(a == 0 && c == 1 && d == 0) == 1){
						if ((a == 1 && b == 0 && c == 0 && d == 0)||
							(a == 0 && b == 1 && c == 0 && d == 0)||
							(a == 0 && b == 0 && c == 1 && d == 0)||
							(a == 0 && b == 0 && c == 0 && d == 1)==1){
							
							printf("凶手是值为1的人a:%d,b%d,c:%d,d:%d\n", a, b, c, d);
						}
					}
						
				}
			}
		}

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

//3.在屏幕上打印杨辉三角
//1 num1 0
//1 1 num1 up+left
//1 2 1num1 up+left+num1
//1 3 3 1


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
	int arr[100][100] = { 1 };
	int input = 0;
	
	for (int row = 1; row <= 100; row++){
		for (int col = 0; col <= row; col++){
			if (col == 0){
				arr[row][col] = 1;
			}
			else if (row == col){
				arr[col][col] = 1;
			}
			else{

			arr[row][col] = arr[row - 1][col]
				+ arr[row - 1][col - 1];
			}
			
		}
		
	}
	
	
	printf("输入需打印的杨辉三角的行数:\n");
	scanf("%d", &input);
	for (int row = 0; row <= input; row++){
		for (int col = 0; col <= row; col++){
			printf("%5d", arr[row][col]);
		}
		printf("\n");
	}
	



	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42962924/article/details/83415299