1. 程式人生 > 其它 >3.30C語言上機實驗(輸出圖形)

3.30C語言上機實驗(輸出圖形)

#include<stdio.h>
int main(){
	int a=0;
	scanf("%d",&a);
	for(int i=0;i<a;i++){
		for(int k=0;k<i;k++){
			printf(" ");
		}
		for(int j=0;j<2*(a-i)-1;j++){
			printf("*");
		}
		printf("\n");
	}
}
#include<stdio.h>
int main(){
	int a=0;
	scanf("%d",&a);
	for(int i=0;i<a;i++){
		for(int k=0;k<i;k++){
			printf(" ");
		}
		for(int j=0;j<2*(a-i)+3;j++){
			printf("*");
		}
		printf("\n");
	}
}

然而結果顯示錯誤,原因是要求上底數為n,而不是簡單加3即可,

#include<stdio.h>
int main(){
	int a=0;
	scanf("%d",&a);
	for(int i=0;i<a;i++){
		for(int k=0;k<i;k++){
			printf(" ");
		}
		for(int j=0;j<2*(a-i-1)+a;j++){
			printf("*");
		}
		printf("\n");
	}
}
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	for (int i = 0; i < a; i++) {
		for (int k = 0; k < i; k++) {
			printf(" ");
		}
		for (int j = 0; j < 2 * (a - i - 1) + a; j++) {
			if (i == 0 || i == a - 1) {
				printf("*");
			} else {
				if (j == 0 || j == 2 * (a - i - 1) + a - 1) {
					printf("*");
				} else {
					printf(" ");
				}
			}
		}
		printf("\n");
	}
}
#include<stdio.h>
int main() {
	int a = 0,b=0;
	scanf("%d%d", &a,&b);
	for (int i = 0; i < a; i++,b++) {//逐行操作
		for (int k = 0; k < i; k++) {
			printf(" ");
		}
		for (int j = 0; j < 2 * (a - i - 1) + a; j++) {
			if (i == 0 || i == a - 1) {
				printf("%d",b>9?b-10:b);//實現了迴圈
			} else {
				if (j == 0 || j == 2 * (a - i - 1) + a - 1) {
					printf("%d",b>9?b-10:b);
				} else {
					printf(" ");
				}
			}
		}
		printf("\n");
	}
}
#include<stdio.h>
int main() {
	int a = 0,b=0;
	int c=0;
	scanf("%d%d", &a,&b);
	int d=b+1;
	
	for (int i = 0; i < a; i++) {//逐行操作
		for (int k = 0; k < i; k++) {
			printf(" ");
		}
		for (int j = 0; j < 2 * (a - i - 1) + a; j++) {
			if (i == 0 ) {//上底
				printf("%d",b%10);//實現了迴圈
				b++;
				c=b-2;
			}else if(i == a - 1){//下底
				printf("%d",d%10);
				d++;
			} else {//中間
				if (j == 0) {//head
					printf("%d",d%10);
					d++;
				} else if(j == 2 * (a - i - 1) + a - 1){//tail
					printf("%d",c%10);
					c--;
				}else{
					printf(" ");
				}
			}
		}
		printf("\n");
	}
}
#include<stdio.h>
int myabs(int b){
	return b>0?b:-b;
}
int main() {
	int a = 0, b = 0;
	scanf("%d%d", &a, &b);
	int d = b;

	for (int i = 0; i < a; i++, d++) { //逐行操作
		for (int k = 0; k < i; k++) {
			printf(" ");
		}
		for (int j = 0; j < 2 * (a - i - 1) + a; j++) {
			if (i == 0 ) {//上底
				if (a % 2 == 1) {
					if (j < (a - i - 1) + a / 2) {
						printf("%d", b % 10);
						b++;
					} else {
						printf("%d", b % 10);
						b--;
					}
				} else {
					if (j < a / 2 +a-1) {
						printf("%d", b % 10);
						b++;
					} else {
						b--;
						printf("%d", b % 10);
					}
				}
			} else if (i == a - 1) { //下底
				if (a % 2 == 1) {
					if (j < (a - i - 1) + a / 2) {
						printf("%d", d % 10);
						d++;
					} else {
						printf("%d", d % 10);
						d--;
					}
				} else {
					if (j < a / 2 ) {
						printf("%d", d % 10);
						d++;
					} else {
						d--;
						printf("%d", d % 10);
					}
				}
			} else {//中間
				if (j == 0 || j == 2 * (a - i - 1) + a - 1) { //head
					printf("%d", d % 10);
				} else {
					printf(" ");
				}
			}
		}
		printf("\n");
	}
}