用C语言编写程序,输入正整数m,以m作为行数,在屏幕上输出一个m行由“*”组成的金字塔形图案。(最后一行从屏幕最左端开始输出)例如:输入:4 金字塔 输出: * + *** ***** *****
时间: 2023-12-18 10:30:25 浏览: 185
以下是使用C语言编写的程序,根据输入的正整数m,输出一个m行由“*”组成的金字塔形图案:
```c
#include <stdio.h>
int main() {
int m;
scanf("%d", &m); // 输入 m
for (int i = 1; i <= m; i++) { // 外层循环,控制每一层
for (int j = 1; j <= m - i; j++) { // 输出每一层的空格
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) { // 输出每一层的星号
printf("*");
}
printf("\n"); // 换行
}
return 0;
}
```
这段代码会根据输入的正整数m,输出一个m行的金字塔形图案。每一行的星号数量是奇数,且每一行的星号数量比上一行多2个。每一行的星号前面会有一定数量的空格,用来对齐金字塔形状。
例如,当输入为4时,输出的金字塔形图案如下:
```
*
***
*****
*******
```
相关问题
编写一个c语言程序,输入两个小于 20 的整数 n 和 m,在屏幕上对应输出 n 行 m 列由"*"符号组成的矩形阵列。。
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int n, m;
printf("请输入矩形的行数(小于20):");
scanf("%d", &n);
printf("请输入矩形的列数(小于20):");
scanf("%d", &m);
// 逐行打印矩形
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
这个程序和 Python 版本的实现类似,不过 C 语言中需要使用两个嵌套的循环来逐行打印矩形。外层循环控制行数,内层循环控制列数,每一次内层循环都打印一个 `*` 字符,然后再换行进入下一行的循环。
用c语言编写一个程序,输入正整数m,统计m各位数中数n的个数
好的,你的问题是如何用C语言编写程序,输入正整数m,统计m各位数中数n的个数。
以下是示例代码:
```c
#include <stdio.h>
int main() {
int m, n, count = 0;
printf("请输入一个正整数m:");
scanf("%d", &m);
printf("请输入一个要统计的数字n:");
scanf("%d", &n);
while (m > 0) {
if (m % 10 == n) {
count++;
}
m /= 10;
}
printf("数字%d在输入正整数m中出现了%d次。\n", n, count);
return 0;
}
```
请注意,这只是一种方法来解决这个问题,可能有其他更有效的方法。