【发布时间】:2016-04-22 10:42:11
【问题描述】:
我编写了一个数组程序,它读取 10 个数字并找出这些数字的最小值、最大值和平均值。
现在,我希望程序在遇到非数字输入或到达输入末尾时打印出“没有足够的数字”。例如3 65 2 4 你好 -> “没有足够的数字”
到目前为止,这是我的代码:
#include <stdio.h>
#define LENGTH 10
int main (void) {
int array [LENGTH];
int i, max, min, sum;
float average;
printf("Enter vector of 10 numbers: ");
// inputting the numbers into an array
for(i = 0; i < LENGTH; i++) {
scanf("%d", &array [i]);
}
// Finding the minimum value
min = array [0];
for(i = 1; i < LENGTH; i++) {
if(min > array [i]) {
min = array [i];
}
}
printf("Minimum vector is %d\n", min);
// Finding the maximum value
max = array [0];
for(i = 1; i < LENGTH; i++) {
if(max < array [i]) {
max = array [i];
}
}
printf("Maximum vector value is %d\n", max);
// Finding the average of all values
sum = 0;
average = 0;
for(i = 0; i < LENGTH; i++){
sum = sum + array [i];
average = sum / LENGTH;
}
printf("Average vector value is %.1f\n", average); // %.1f prints the number with 1 decimal point
return 0;
}
【问题讨论】:
-
This
scanf(and family) reference 可能会派上用场。检查函数返回。