C语言程序和函数题库
时间: 2025-06-19 18:39:30 浏览: 11
### C语言程序设计函数练习题库
#### 题目一:数组反转
给定一个整型数组 `arr` 和其长度 `n`,编写一个名为 `fun` 的函数用于原地翻转该数组中的元素顺序[^1]。
```c
#include <stdio.h>
#define N 5
void fun(int arr[], int n) {
int l = 0, r = n - 1;
while (l < r) {
int tmp = arr[l];
arr[l++] = arr[r];
arr[r--] = tmp;
}
}
int main() {
int a[N] = {8, 6, 5, 4, 1};
for (int i = 0; i < N; i++)
printf("%4d", a[i]);
printf("\n");
fun(a, N);
for (int i = 0; i < N; i++)
printf("%4d", a[i]);
return 0;
}
```
此段代码实现了数组的逆置操作并打印了原始以及处理后的数据序列。
#### 题目二:三角形分类判定
创建一个函数 `fun` 接受三个参数分别代表三条边长 `a`, `b`, `c` 并依据这些输入决定它们能否组成特定类型的三角形。具体来说:
- 如果三者相等则返回3表示等边三角形;
- 存在两条边相同而第三条不同,则返回2意味着这是一个等腰而非直角或不规则形态;
- 当任意两边之和大于第三边时即满足构成条件但不属于上述两种情形之一的情况应当给出数值1作为响应;
- 否则就说明无法形成任何种类的有效图形因此应该反馈零值0[^2]。
```c
#include <stdio.h>
int fun(int a, int b, int c){
if ((a + b > c) && (b + c > a) && (a + c > b)){
if((a == b)&&(b==c))
return 3;
else if(a == b || b == c || a == c)
return 2;
else
return 1;
}else{
return 0;
}
}
int main(){
int shape;
// 测试用例可以自行补充
return 0;
}
```
这段实现考虑到了所有可能形成的三角形状,并通过简单的逻辑判断来进行区分。
#### 题目三:素数检测器
构建一个能够识别指定范围内质数(也称为素数)的功能模块——这里指代的是介于100至200之间的自然数集合。对于每一个符合条件的对象都将在控制台输出显示出来[^3]。
```c
#include <stdio.h>
// 定义辅助方法用来验证单个数字是不是质数
int isPrime(int num){
if(num <= 1) return 0;
for(int divisor = 2 ;divisor * divisor <= num;++divisor){
if( !(num % divisor))return 0;
}
return 1;
}
int main(){
for(int candidate=100;candiate<=200;++candidate){
if(isPrime(candidate)){
printf("%d ", candidate);
}
}
return 0;
}
```
注意,在这个版本里优化了一下原来的算法效率,减少了不必要的循环次数。
阅读全文
相关推荐

















