要用c语言写一个程序,要求用户输入两个正整数m,n,打印m行n列个星号
时间: 2024-10-24 21:18:42 浏览: 61
要在C语言中编写一个程序,让用户输入两个正整数`m`和`n`,然后打印出`m`行`n`列的星号,你可以按照以下步骤操作:
首先,你需要从用户那里获取输入,然后使用一个循环结构来遍历每一行和每一列,并打印星号。这里是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int m, n;
// 获取用户输入
printf("请输入行数(m): ");
scanf("%d", &m);
printf("请输入列数(n): ");
scanf("%d", &n);
// 检查输入是否为正整数
if (m <= 0 || n <= 0) {
printf("输入的值必须是正整数。\n");
return 1;
}
// 打印星号
for (int i = 1; i <= m; i++) { // 遍历行
for (int j = 1; j <= n; j++) { // 遍历列
printf("*"); // 打印每个位置的星号
}
printf("\n"); // 每一行结束后换行
}
return 0;
}
```
当你运行这个程序并输入正整数`m`和`n`时,它会按照指定的行数和列数打印出星号。
相关问题
输入一个正整数n输出n行的菱形星号,用C语言
实现。
A:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = n; j > i; j--) {
printf(" "); // 打印空格
}
for (int k = 1; k <= i * 2 - 1; k++) {
printf("*"); // 打印星号
}
printf("\n"); // 换行
}
for (int i = n - 1; i > 0; i--) {
for (int j = n; j > i; j--) {
printf(" "); // 打印空格
}
for (int k = 1; k <= i * 2 - 1; k++) {
printf("*"); // 打印星号
}
printf("\n"); // 换行
}
return 0;
}
```
说明:首先获取用户输入的正整数n,然后使用两个嵌套的for循环分别输出上半部分的菱形和下半部分的菱形。在内层的for循环中,使用i变量控制每行星号的数量,使用j变量控制每行空格的数量。
输入一个正整数n,输出等于n行的星号 与空格 组成的矩形图 使用C语言编程
好的,我可以帮您解答这个问题。以下是使用 C 语言编写的程序:
```
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
if (i == 1 || i == n || j == 1 || j == n) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
程序中,我们首先通过 `scanf()` 函数获取用户输入的正整数 `n`,然后使用两重循环打印出 `n` 行的星号和空格组成的矩形图。其中,外层循环控制行数,内层循环控制每行的字符数,根据行数和列数是否在边界上来判断是否需要打印星号或空格。
希望这个程序能够帮到您,如果有任何疑问,请随时问我。
阅读全文