多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。
针对每行输入,输出用“*”组成的X形图案。
5
* * * * * * * * *
6
* * * * ** ** * * * *
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int n = 0; int i = 0; int j = 0; while (scanf("%d", &n) != EOF) { for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { //正反对角线为*,其余为空格 if (i == j || i + j == n - 1) { printf("*"); } else { printf(" "); } } printf("\n"); } } return 0; }
int main() { int a = 0; printf("请输入你要打印x的值:"); scanf("%d",&a); for (int i = 0; i < a; i++)//行 { //列 for (int j = 0; j < a; j++) { if (i + j == a - 1 || i == j) { printf("*"); } else { printf(" "); } } printf("\n"); } return 0; }
#include<stdio.h> int main() { int a = 0; while (scanf("%d", &a) == 1) { int left = 1; int right = a; for (int i = 1; i <= a; i++) { for (int j = 1; j <= a; j++) { if (j == left || j == right) printf("*"); else printf(" "); } printf("\n"); left++; right--; } } return 0; }
#include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { int num; if (n % 2 == 0) { num = (n - 2) / 2; for (int i = 1; i <= num; i++) { for (int j = 1; j <= i - 1; j++) //输出首部i-1个空格 { printf(" "); } printf("*"); for (int k = 1; k <=n - 2-2*(i-1);k++) //输出中间n-2个空格 { printf(" "); } printf("*"); for (int j = 1; j <= i - 1; j++) //输出尾部i-1个空格 { printf(" "); } printf("\n"); } for(int count =1;count<=2;count++) { for(int l=1;l<=num;l++) { printf(" "); } printf("**"); for(int l=1;l<=num;l++) { printf(" "); } printf("\n"); } for (int i = 1; i <= num; i++) { for (int j = 1; j <= num - i; j++) //第i行首部输出num-i个空格 { printf(" "); } printf("*"); for (int k = 1; k <= n-2-2*(num-i);k++) //输出中间n-2-2*(num-i)个空格 { printf(" "); } printf("*"); for (int j = 1; j <= num - i; j++) //第i行尾部输出num-i个空格 { printf(" "); } printf("\n"); } } else { num = (n - 1) / 2; for (int i = 1; i <= num; i++) { for (int j = 1; j <= i - 1; j++) { //输出首部i-1个空格 printf(" "); } printf("*"); for (int k = 1; k <= n - 2-2*(i-1);k++) { //输出中间n-2*i个空格 printf(" "); } printf("*"); for (int j = 1; j <= i - 1; j++) { //输出尾部i-1个空格 printf(" "); } printf("\n"); } for(int l=1;l<=num;l++) { printf(" "); } printf("*"); for(int l=1;l<=num;l++) { printf(" "); } printf("\n"); for (int i = 1; i <= num; i++) { for (int j = 1; j <= num - i; j++) { //第i行输出首部num-i个空格 printf(" "); } printf("*"); for (int k = 1; k <= n-2-2*(num-i);k++) { //输出中间2*i个空格 printf(" "); } printf("*"); for (int j = 1; j <= num - i; j++) { //第i行输出尾部num-i个空格 printf(" "); } printf("\n"); } } } }