c语言一维数组编程题
时间: 2025-04-25 09:34:12 浏览: 50
### C语言一维数组编程练习题
#### 题目1:计算平均分
编写一个程序,读取若干个学生的成绩并存储在一维数组中。最后输出这些学生成绩的总和以及平均分数。
```c
#include <stdio.h>
int main() {
int scores[5];
float sum = 0;
printf("请输入五个学生的成绩:\n");
for (int i = 0; i < 5; ++i) {
scanf("%d", &scores[i]);
sum += scores[i];
}
float average = sum / 5;
printf("总分为 %.2f\n", sum);
printf("平均分为 %.2f\n", average);
return 0;
}
```
此段代码展示了如何通过for循环来获取用户输入的数据,并将其存入到`score[]`数组里[^1]。之后再遍历该数组求得所有元素之和用于计算均值[^2]。
#### 题目2:查找最大最小值
创建一个函数findMaxMin(), 接收两个参数分别为指向整型的一维数组指针及其长度size, 返回类型为void,在函数内部实现找到给定范围内最大的数值min与最小的数值max.
```c
#include <stdio.h>
#define SIZE 6
// 函数声明
void findMaxMin(const int array[], size_t size, int* max, int* min);
int main(){
int numbers[SIZE]={4,-3,7,1,9};
int maximum, minimum;
// 调用函数
findMaxMin(numbers, SIZE,&maximum ,&minimum );
printf("最大数:%d \n",maximum );
printf("最小数:%d ",minimum );
}
// 定义函数
void findMaxMin(const int array[], size_t size,int *max ,int *min){
*max=*array ;
*min=*array ;
while(--size>0){
if(*array>*max)*max=*array ;
else if (*array<*min )*min=*array ;
array++;
}
}
```
上述例子说明了怎样定义一个接受数组作为参数的方法,并且在方法体内操作传入的数组完成特定的任务——即找出其中的最大值和最小值[^3].
#### 题目3:逆序排列
设计一段可以接收任意数量正整数(不超过10个),并将它们按相反顺序显示出来的简单应用程序。
```c
#include <stdio.h>
int main(void) {
int numArray[10], count;
printf("Enter up to ten positive integers:");
for(count = 0;count<10 &&scanf("%d",&numArray[count])==1;++count)
/* empty */;
--count;
puts("In reverse order:");
do{
printf("%d ",numArray[count--]);
}while(count>=0);
putchar('\n');
return 0;
}
```
这段代码实现了从标准输入流读取最多十个整数至名为`numArray[]` 的数组中;接着采用do...while语句结构反向迭代访问这个数组中的每一个成员项,从而达到反转输出的效果[^4].
阅读全文
相关推荐


















