为什么小数点以后输出都为零

#include <stdio.h>
int he(int a);
int he2(int b);
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
double sum=0.0;
int i;
for(i=1;i<=c;i++){
sum+=(1.00/c);
}
double g=0.0;
g=he(a)+he2(b)+sum;
printf("%.2f\n",g);

return 0;

}
int he(int a){
int i;
int sum1=0;
for(i=1;i<=a;i++){
sum1+=i;
}
return sum1;
}
int he2(int b){
int i;
int sum2=0;
for(i=1;i<=b;i++){
sum2+=(i*i);
}
return sum2;
}

你写的he函数是从0累加到数值a,he2函数是从i的平分的累加,这两个都不会产生小数。而上面

for(i=1;i<=c;i++){
        sum+=(1.00/c);
    }

这一段相加就是c个1/c相加,数值固定为1,也没有小数,所以整个程序就不可能出现小数位了