c语言中用到static写一个输出一行n个*的程序
时间: 2024-05-14 13:13:33 浏览: 14
当输入为0时,这个程序应该不会输出任何内容,是吧?
下面是这个程序的实现:
```
#include <stdio.h>
void print_n_stars(int n);
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
print_n_stars(n);
return 0;
}
void print_n_stars(int n) {
static int count = 0;
if (count == n) {
printf("\n"); // 输出换行符
count = 0; // 计数器清零
return;
}
printf("*");
count++;
print_n_stars(n);
}
```
相关问题
用C语言写一个n*n矩阵一行元素相等
可以使用C语言编写一个生成n*n矩阵,使得每一行的元素相等的程序。以下是一个示例代码:
```c
#include <stdio.h>
// 生成n*n矩阵,使得每一行的元素相等
void generateMatrix(int n) {
int matrix[n][n];
// 计算每一行的元素相等值
int equalValue = 1 + (n * (n - 1) / 2);
// 填充矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = equalValue;
}
}
// 打印矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入矩阵的大小n:");
scanf("%d", &n);
generateMatrix(n);
return 0;
}
```
这段代码会要求你输入矩阵的大小n,然后生成一个n*n的矩阵,其中每一行的元素都相等。程序会按行打印出生成的矩阵。
注意:这段代码假设输入的n为正整数,并且不进行异常处理。在实际应用中,你可能需要添加对输入的合法性进行检查和处理。
帮我写一个输出1到20质数的c语言程序
好的,以下是输出1到20质数的C语言程序:
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return ;
}
for (int i = 2; i < num; i++) {
if (num % i == ) {
return ;
}
}
return 1;
}
int main() {
for (int i = 1; i <= 20; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
return ;
}