c语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 样例输入:4 样例输出: * *** ***** ******* ***** *** *
时间: 2023-06-29 17:18:23 浏览: 84
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, k;
printf("请输入一个整数n(1≤n≤9):");
scanf("%d", &n);
// 打印上半部分菱形
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分菱形
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
运行结果:
```
请输入一个整数n(1≤n≤9):4
*
***
*****
*******
*****
***
*
```
相关问题
C语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。 样例输入:4 样例输出: * *** ***** ******* ***** *** *
以下是一个简单的实现:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个整数n(1≤n≤9):");
scanf("%d", &n);
// 上半部分
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 下半部分
for (int i = n - 1; i >= 1; i--) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (int j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
输出结果:
```
请输入一个整数n(1≤n≤9):4
*
***
*****
*******
*****
***
*
```
C语言打印菱形 描述:从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。代码思路和注释两种方法
以下是两种不同的实现方法:
方法一:使用双重循环打印空格和星号
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入一个整数n(1~9):");
scanf("%d", &n);
// 打印上半部分
for (i = 1; i <= n; i++) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for (i = n - 1; i >= 1; i--) {
// 打印空格
for (j = 1; j <= n - i; j++) {
printf(" ");
}
// 打印星号
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
方法二:使用数组保存每行需要打印的字符,然后统一打印
```c
#include <stdio.h>
int main() {
int n, i, j;
char diamond[9][17] = {0}; // 保存每行需要打印的字符
printf("请输入一个整数n(1~9):");
scanf("%d", &n);
// 构造上半部分
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
diamond[i][j] = ' ';
}
for (j = n - i - 1; j < n + i; j++) {
diamond[i][j] = '*';
}
}
// 构造下半部分
for (i = n - 2; i >= 0; i--) {
for (j = 0; j < n - i - 1; j++) {
diamond[2 * n - i - 2][j] = ' ';
}
for (j = n - i - 1; j < n + i; j++) {
diamond[2 * n - i - 2][j] = '*';
}
}
// 打印菱形
for (i = 0; i < 2 * n - 1; i++) {
printf("%s\n", diamond[i]);
}
return 0;
}
```
两种方法的输出结果是相同的,可以根据个人习惯选择其中一种实现。
阅读全文