例4:完数查找
编写程序找出1000以内的所有完数。完数是指一个数恰好等于它的因子之和(不包括自身)。例如6=1+2+3。
算法解析:
- 使用外层循环遍历1到1000之间的所有数字
- 对于每个数字,使用内层循环找出它的所有因子
- 计算这些因子的和
- 如果和等于原始数字,则该数字是完数
#include <stdio.h>
int main() {
int i, j, sum;
printf("1000以内的完数有:\n");
for (i = 1; _______1________; i++) {
sum = 0;
// 找出i的所有因子并求和
for (j = 1; _______2________; j++) {
if (i % j == 0) {
_______3________;
}
}
// 如果因子和等于i本身,则是完数
if (_______3________) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
示例输出
1000以内的完数有: 6 28 496
例5:斐波那契数列
编写程序输出斐波那契数列的前20项。本题要求前两项为1,从第三项开始,每一项都是前两项之和。
算法解析:
- 初始化前两个斐波那契数
- 使用循环计算后续的斐波那契数
- 每个新项都是前两项之和
- 每行输出一定数量的项,使输出更美观
#include <stdio.h>
int main() {
int n ;
_______1________; // 输出前20项
long long first = 1, second = _______2________, next;
int i, count = 0;
printf("斐波那契数列前%d项:\n", n);
for ( i = 1; i <= n; i++) {
if (i == 1) {
printf("%ld ", first);
count++;
} else if (i == 2) {
printf("%ld ", second);
count++;
} else {
next = _______3________;
printf("%ld ", next);
count++;
first = _______4________;
second = next;
}
// 每行输出5个数字
if (_______5________) {
printf("\n");
count = 0;
}
}
printf("\n");
return 0;
}
示例输出
斐波那契数列前20项:
1 1 2 3 5
8 13 21 34 55
89 144 233 377 610
987 1597 2584 4181 6765
例6:数组求和
编写程序计算一个整型数组中所有元素的和。
算法解析:
- 定义一个整型数组并初始化
- 使用循环遍历数组中的所有元素
- 将每个元素累加到一个总和变量中
- 输出最终的总和结果
#include <stdio.h>
int main() {
int arr[] = {12, 45, 23, 67, 34, 89, 56, 91, 72, 38},i;
int size = sizeof(arr) / sizeof(arr[0]);
int _______1________;
printf("数组元素: ");
for ( i = 0; i < _______2________; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 计算数组元素的和
for ( _______3________; i < size; i++) {
_______4________
}
printf("数组元素总和: %d\n", sum);
return 0;
}
示例输出
数组元素: 12 45 23 67 34 89 56 91 72 38
数组元素总和: 527
例7:倒三角形
编写程序输出一个由星号组成的倒三角形图案。
算法解析:
- 使用外层循环控制行数
- 使用内层循环控制每行输出的星号数量
- 随着行数增加,每行的星号数量递减
- 使用空格来保持图案居中
#include <stdio.h>
int main() {
int rows = 7;
printf("倒三角形图案:\n\n");
for (int i = _______1________; i >= 1; i--) {
// 打印星号
for (int j = 1; _______4________; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
示例输出
倒三角形图案:
*************
***********
*********
*******
*****
***
*