C语言题目
时间: 2025-05-20 13:30:29 浏览: 11
### 关于C语言编程题目的练习
以下是几个经典的C语言编程题目及其解答:
#### 题目一:计算1到100的总和
通过循环结构实现累加操作,最终打印出结果。
```c
#include <stdio.h>
int main() {
register int i;
int tmp = 0;
for (i = 1; i <= 100; i++) {
tmp += i;
}
printf("总和为 %d\n", tmp);
return 0;
}
```
此代码片段展示了如何利用`for`循环来完成简单的数值运算[^1]。
---
#### 题目二:绘制三角形图案
输入一个整数`n`,输出由星号组成的倒置直角三角形。
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n - 1; j++) {
printf(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
这段代码实现了动态调整大小的图形输出功能[^2]。
---
#### 题目三:判断并分解质因数
给定一个正整数,找出它的所有质因数。
```c
#include <stdio.h>
void findPrimeFactors(int num) {
while (num % 2 == 0) {
printf("2 ");
num /= 2;
}
for (int i = 3; i * i <= num; i += 2) {
while (num % i == 0) {
printf("%d ", i);
num /= i;
}
}
if (num > 2) {
printf("%d", num);
}
}
int main() {
int number;
printf("请输入一个正整数: ");
scanf("%d", &number);
if (number <= 0) {
printf("请输入有效的正整数。\n");
} else {
printf("该数的质因数有: ");
findPrimeFactors(number);
}
return 0;
}
```
以上程序能够有效处理任何大于零的整数,并返回其对应的质因数组合[^3]。
---
#### 题目四:三级指针应用示例
展示了一个复杂的指针嵌套案例,帮助理解多重间接寻址的概念。
```c
#include <stdio.h>
int main() {
char* c[] = { "ENTER", "NEW", "POINT", "FIRST" };
char** cp[] = { c + 3, c + 2, c + 1, c };
char*** cpp = cp;
printf("%s\n", **++cpp); // 输出 FIRST
printf("%s\n", *--*++cpp + 3); // 输出 POINT 中的部分字符串
printf("%s\n", *cpp[-2] + 3); // 输出 NEW 的部分字符
printf("%s\n", cpp[-1][-1] + 1); // 输出 ENTER 的子串
return 0;
}
```
这个例子深入探讨了多级指针的操作方式以及它们的实际用途[^4]。
---
###
阅读全文
相关推荐






