C语言题解,简单易懂
查看原帖
C语言题解,简单易懂
657224
vae___楼主2024/3/15 23:32
#include<stdio.h>

//输出左下到右上的格子
void zx(int n, int i, int j){
	while(i != n && j != 1){
		i++;
		j--;
	}
	
	if(i == n){
		while(j < n){
			printf("(%d,%d) ", i, j);
			j++;
			i--;
		}
		printf("(%d,%d)", i, j);
	} else {
		while(i > 1){
			printf("(%d,%d) ", i, j);
			j++;
			i--;
		}
		printf("(%d,%d)", i, j);
	}
	
} 

//输出左上到右下的格子
void zs(int n, int i, int j){
	while(i != 1 && j != 1){
		i--;
		j--;
	}
	
	if(i == 1){
		while(j < n){
			printf("(%d,%d) ", i, j);
			i++;
			j++;
		}
		printf("(%d,%d)\n", i, j);
	} else {
		while(i < n){
			printf("(%d,%d) ", i, j);
			i++;
			j++;
		}
		printf("(%d,%d)\n", i, j);
	}
	
} 

//输出同一列的格子
void column(int n, int j){
	int i = 1;
	while(i < n){
		printf("(%d,%d) ", i, j);
		i++;
	}
	printf("(%d,%d)\n", i, j); 
}

//输出同一行的格子
void row(int n, int i){
	int j = 1;
	while(j < n){
		printf("(%d,%d) ", i, j);
		j++;
	}
	printf("(%d,%d)\n", i, j);
	
} 

int main(){
	int N, i, j;
	scanf("%d %d %d", &N, &i, &j);
	
	row(N, i);
	column(N, j);
	zs(N, i, j);
	zx(N, i, j);
	
	return 0;
}
2024/3/15 23:32
加载中...