c语言数组习题
时间: 2025-05-04 19:56:20 浏览: 34
### C语言数组练习题
以下是关于C语言中与数组相关的几个典型练习题及其解答:
#### 1. 输入一组数据并按指定方式排序
通过键盘输入若干个整数,将其按照特定规则排序后输出。例如,可以基于个位数大小进行排序。
```c
#include <stdio.h>
int main() {
int a[10];
int i, j, t;
printf("请输入十个两位正整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
// 使用冒泡排序算法对数组中的元素按个位数从小到大排列
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (a[j] % 10 > a[j + 1] % 10) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
// 输出排序后的结果
for (i = 0; i < 10; i++) {
printf("%d\t", a[i]);
}
return 0;
}
```
此代码实现了根据个位数大小对数组进行排序的功能[^2]。
---
#### 2. 计算数组中元素的平均值
编写一个程序,从用户输入中读取多个整数存入数组,并计算其平均值。
```c
#include <stdio.h>
int main() {
int nums[10], sum = 0;
float avg;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; ++i) {
scanf("%d", &nums[i]);
sum += nums[i]; // 累加求和
}
avg = (float)sum / 10; // 转换为浮点数以获得精确的小数部分
printf("这10个整数的平均值是:%f\n", avg);
return 0;
}
```
上述代码展示了如何处理简单的数组操作以及基本运算逻辑[^4]。
---
#### 3. 字符串遍历与打印字符
给定字符串`arr[]="abcdef"`,逐一遍历其中每一个字母并单独显示出来。
```c
#include <stdio.h>
#include <string.h>
int main() {
char arr[] = "abcdef";
int len = strlen(arr);
for (int i = 0; i < len; i++) {
printf("%c ", arr[i]);
}
return 0;
}
```
这段小程序能够逐一访问字符串内的各个字符[^3]。
---
#### 4. 反向输出斐波那契序列
创建一个长度固定的数组来保存前几项斐波那契数值,最后逆序展示它们的内容。
```c
#include<stdio.h>
void reversePrintFibonacci(int n){
long fib[n];
fib[0]=0,fib[1]=1;
for(int i=2;i<n;i++)
fib[i]=fib[i-1]+fib[i-2];
for(int i=n-1;i>=0;i--)
printf("%ld ",fib[i]);
}
int main(){
int numTerms=10;
reversePrintFibonacci(numTerms);
return 0;
}
```
这里定义了一个函数用于生成并反向打印斐波那契数列的部分成员[^1]。
---
阅读全文
相关推荐













