来自网络,联系侵删
212 字
1 分钟
一维数组 - 理论课练习
1. 课前测 - 计算平均值
编写一个C语言程序,要求用户反复输入整数,直到输入-1为止,程序需要计算用户输入的所有数字(不包括结束标志-1)的平均值。
#include<stdio.h>
int main() { int n = 0, sum = 0, count = 0; float avg = 0.0; while (n != -1) { scanf("%d", &n); sum += n; count++; } sum = sum + 1; count = count - 1; if (sum == 0) return 0; else { avg = (float)sum / count; printf("%.2f", avg); } return 0;}2. 课堂练习 - 内存图分析
请画出内存图,并解释为什么输出c=5,a=6,i=9。
#include <stdio.h>int main(){ int a = 1, c = 2, b[5], i; printf("%p, %p, %p\n", b, &a, &c); for (i = 0; i <= 4; i++) { b[i] = i; printf("%p %d\n", &b[i], b[i]); } printf("\nc=%d, a=%d, i=%d\n", c, a, i); return 0;}3. 统计数字的数量
写一个程序,输入数量不确定的[0,9]内的整数,统计每个数出现的次数,输入-1表示结束。
#include<stdio.h>int main(){ int sum[10] = { 0 }; int n = 0; while (n != -1) { scanf("%d", &n); if (n >= 0 && n <= 9) { sum[n]++; } } for (int i = 0;i <= 9;i++) { int x = sum[i]; printf("%d出现了%d次\n", i, x); } return 0;}4. 军事训练等级考评
录入10名评委的打分,去掉一个最高分,去掉一个最低分,求出参考人员的平均得分。
#include<stdio.h>int main(){ int score[10] = { 0 }, sign, sum = 0; float avg = 0.0;
for (int i = 0;i <= 9;i++) { scanf("%d", &score[i]); } int max = score[0], min = score[0]; for (int i = 0;i <= 9;i++) {
if (score[i] > max) { max = score[i]; } if (score[i] < min) { min = score[i]; }
} for (int i = 0;i <= 9;i++) { if (score[i] != max && score[i] != min) { sum += score[i]; } } avg = (float)sum / 8; printf("平均分为%.2f", avg);}5. 选择排序
使用选择排序对数组进行降序排序。
#include <stdio.h>#define MAXN 10
int main(){ int i, k, n, a[MAXN] = { 9,7,6,6,3,2,8,1,8,4 }; for (int j = 0; j < 9; j++) { for (int i = 0; i < 9 - j; i++) { if (a[i] < a[i + 1]) { int sign = a[i]; a[i] = a[i + 1]; a[i + 1] = sign; } } }
for (i = 0; i < MAXN; i++) printf("%d ", a[i]);
return 0;} 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
一维数组 - 理论课练习
https://blog.sherry.qzz.io/posts/c/一维数组-理论课/ 部分信息可能已经过时
相关文章 智能推荐



























