c语言编写一个子函数生成金字塔图形(使用循环),在主函数中打印出来
时间: 2024-09-26 15:04:31 浏览: 71
在C语言中,你可以通过嵌套循环结构来编写一个函数生成金字塔形的输出。下面是一个简单的例子,这个函数`print_pyramid(n)`用于打印高度为n的金字塔:
```c
#include <stdio.h>
// 定义生成金字塔的子函数
void print_row(int n) {
// 从上到下打印空格
for (int i = 0; i < n - 1; ++i)
printf(" ");
// 打印星号作为顶部的三角形
for (int j = 0; j <= n; ++j)
printf("*");
printf("\n"); // 换行
}
// 主函数打印整个金字塔
void print_pyramid(int n) {
for (int i = 0; i < n; ++i) {
print_row(i + 1); // 递增1是因为顶层需要1个星号
}
}
int main() {
int height; // 输入金字塔的高度
printf("请输入金字塔的高度: ");
scanf("%d", &height);
print_pyramid(height);
return 0;
}
```
在这个程序中,`print_row()`函数负责打印每一行,而`print_pyramid()`则通过迭代`n`次,每次递增1层来构建整个金字塔。
相关问题
C语言编写一个子函数,能将主函数输入的任何整数的所有素数因子都打印出来
在C语言中,我们可以编写一个子函数来找到并打印整数的所有质因子。首先,我们需要一个辅助函数`is_prime()`用于检查是否一个数是质数,然后在主函数中调用这个子函数处理输入的整数。以下是实现这一功能的一个示例:
```c
#include <stdio.h>
// 辅助函数,判断是否为质数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0; // 如果有因子,不是质数
}
return 1; // 没有因子,是质数
}
// 主函数,找出并打印所有质因子
void print_prime_factors(int n) {
printf("Prime factors of %d:", n);
for (int i = 2; i <= n; i++) { // 从2开始遍历到n
while (n % i == 0 && is_prime(i)) { // 只打印质因数
printf(" %d", i);
n /= i; // 更新n
}
}
printf("\n");
}
int main() {
int input_number;
printf("Enter an integer: ");
scanf("%d", &input_number);
// 调用子函数打印质因子
print_prime_factors(input_number);
return 0;
}
```
C语言编写一个函数,在主函数中输入两个数字,可以利用函数求和
在C语言中,你可以创建一个简单的函数来接收两个整数作为参数并返回它们的和。下面是一个基本的示例:
```c
#include <stdio.h>
// 定义求和函数
int addTwoNumbers(int num1, int num2) {
int sum;
sum = num1 + num2; // 计算两数之和
return sum; // 返回结果
}
int main() {
int num1, num2;
// 输入两个数字
printf("请输入第一个数字: ");
scanf("%d", &num1);
printf("请输入第二个数字: ");
scanf("%d", &num2);
// 调用求和函数并将结果打印出来
int result = addTwoNumbers(num1, num2);
printf("两个数字的和是: %d\n", result);
return 0;
}
```
在这个程序中,`addTwoNumbers`函数接受两个整数`num1`和`num2`,计算它们的和,并将结果返回。在`main`函数里,用户被提示输入这两个数字,然后通过调用这个函数获取和并将其显示在屏幕上。
阅读全文