递归方法如下:
#include <stdio.h>
static int cnt = 0;
static int sum=0;
static int min=0;
static int max=0;
int main()
{
int v;
printf("Input number : ");
scanf("%d",&v);
if(v == 0)
{
printf("Number:%d,Sum:%d,Aver:%.2f,largest:%d,smallest:%d",cnt,sum,sum/10.0,max,min);
return 0;
}else
{
sum += v;
if(cnt==0)
{
max = v;
min = v;
}else
{
if(v>max) max = v;
if(v<min) min = v;
}
cnt++;
return main();
}
return 0;
}
#include <stdio.h>
int main() {
static int count = 1;
static int s = 0;
static int max, min;
int n;
printf("Input number: ");
scanf("%d", &n);
if(n > 0) {
if(count == 1) {
max = n;
min = n;
} else {
if(n > max)
max = n;
if(n < min)
min = n;
}
s += n;
count++;
main();
} else {
printf("Number:%d,Sum:%d,Aver:%.2f,largest:%d,smallest:%d", count - 1, s, s * 1.0 / (count - 1), max, min);
return 0;
}
}