C 语言实例 - 计算数组元素平均值
使用 for 循环迭代出输出元素,并将各个元素相加算出总和,再除于元素个数:
实例 1
#include <stdio.h>
int main() {
int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int sum, loop;
float avg;
sum = avg = 0;
for(loop = 0; loop < 10; loop++) {
sum = sum + array[loop];
}
avg = (float)sum / loop;
printf("平均值为 %.2f", avg);
return 0;
}
输出结果为:
平均值为 4.50
用户自定义输入:
实例 2
#include <stdio.h>
int main()
{
int n, i;
float num[100], sum = 0.0, average;
printf("输入元素个数: ");
scanf("%d", &n);
while (n > 100 || n <= 0)
{
printf("Error! 数字需要在1 到 100 之间。\n");
printf("再次输入: ");
scanf("%d", &n);
}
for(i = 0; i < n; ++i)
{
printf("%d. 输入数字: ", i+1);
scanf("%f", &num[i]);
sum += num[i];
}
average = sum / n;
printf("平均值 = %.2f", average);
return 0;
}
输出结果为:
输入元素个数: 4 1. 输入数字: 1 2. 输入数字: 2 3. 输入数字: 4 4. 输入数字: 8 平均值 = 3.75
C 语言实例
寻找无双
986***565@qq.com
可以用 scanf 的特性来控制循环:
#include <stdio.h> int main(void) { float x; printf("请输入数字:(输入q退出)"); int i=0; float status; float sum=0; float avg=0; status=scanf("%f", &x); while ( status==1 ) { sum+=x; printf("请输入数字:(输入q退出)"); status=scanf("%f", &x); i++; } avg=sum/(i); printf("%.2f",avg); return 0; }寻找无双
986***565@qq.com
aewnfin
aew***n@outlook.com
使用递归:
#include <stdio.h> #include <stdlib.h> #define SAFE_FREE(p) \ free(p); \ p = NULL; int *reverseSentence(); int leng; int main() { int *p = NULL; printf("输入一组整数: "); p = reverseSentence(); int sum = 0; for (int i = 0; i < leng; i++) { sum += p[i]; } printf("数组和:%d", sum); SAFE_FREE(p); return 0; } int *reverseSentence() { static int sum, num; static int *p; int n; char c; scanf("%d%c", &n, &c); sum++; if (c != '\n') { reverseSentence(); } else { p = malloc(sizeof(int) * sum); } num++; p[sum - num] = n; if (sum == num) { leng = sum; printf("整数数组长度:%d\n", leng); sum = num = 0; } return p; }执行输出:
aewnfin
aew***n@outlook.com