用c需要输出对称的*图形
时间: 2023-05-28 08:05:24 浏览: 57
以下是用C语言输出对称的*图形的示例代码:
```
#include <stdio.h>
int main() {
int i, j, n;
printf("请输入行数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i; j++) {
printf(" ");
}
for (j = 1; j <= i; j++) {
printf("*");
}
for (j = i - 1; j >= 1; j--) {
printf("*");
}
printf("\n");
}
return 0;
}
```
这段代码会让用户输入图形的行数,然后输出一个对称的*图形。例如,如果用户输入5,则输出如下图形:
```
*
***
*****
*******
*********
```
相关问题
输入正整数N和字符C,输出(2*N-1)行如下规律的字符图形,* *** ****** ******** ****** *** *C语言
根据提供的引用内容,我们可以看出这道题目需要输出一个字符图形,其中第一行有1个字符,第二行有3个字符,第三行有5个字符,以此类推,直到第N行有2N-1个字符。而中间的部分是对称的,即前半部分是从1到N递增的星号,后半部分是从N-1到1递减的星号。同时,题目还要求在图形中央填充一个给定的字符C。
下面是回答:
输入正整数N和字符C,输出(2*N-1)行如下规律的字符图形:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
char c;
scanf("%d %c", &n, &c);
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++) {
if (i == n && j % 2 == 0) {
printf(" ");
} else {
printf("%c", c);
}
}
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++) {
if (i == n && j % 2 == 0) {
printf(" ");
} else {
printf("%c", c);
}
}
printf("\n");
}
return 0;
}
```
输出菱形图形,用c++编写
下面是用 C 语言编写的菱形图形输出代码:
```
#include <stdio.h>
int main()
{
int i, j, k;
for (i = 0; i < 4; i++)
{
for (k = 0; k < 3 - i; k++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
for (i = 3; i >= 0; i--)
{
for (k = 0; k < 3 - i; k++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
```
这段代码会在屏幕上输出一个菱形图形。
首先,我们使用两个 for 循环来输出菱形的上半部分和下半部分。在每一行中,我们使用一个循环来输出空格,再使用一个循环来输出星号。
在这段代码中,我们使用了一个变量 k 来输出空格,以使菱形看起来对称。
如果你想调整菱形的大小,可以修改第一个 for 循环的循环次数,或者修改循环中输出的空格和星号的数量。