随着数据的增减,平均值也在变化,使用递归,直到最后一个数据的输入确定平均值,再利用回溯的特性带着平均值返回到首部。
#include<stdio.h>
#include<stdlib.h>
double find(int total, int n){
int number, score,average;
printf("please input number:");
scanf("%d", &number);
if(number != 0){
printf("please input score:");
scanf("%d", &score);
average = find(total+score, n+1);
printf("%d\n", average);
if(score > average){
printf("%d, %d", number, score);
printf("\n");
}
return average;
}else{
return (double)total/n;
}
}
int main(){
find(0,0);
return 0;
}