关于#c语言#的问题,请各位专家解答!

img


请问一下这个东西怎么错了,错在哪里,是模拟题目,不是很懂,谢谢解答


c
#include <stdio.h>
double fun(double x,int n) 
{ 
    double s=1;
    int i;
    for(i=1;i<=n;i++)
        s=s*x;
    return s;
}

void main() 
{ 
    double a,b,m1,m2,m3,m;
    printf("请输入a和b: ");
    scanf("%lf%lf",&a,&b);
    m1=fun(a,4); 
    m2=fun(b,4);
    m3=fun(a+b,3);
    m=m1+m2+m3;
    printf("m=%f\n",m);
}
  • fun函数内部变量s定义时少了类型
  • for循环条件中的%应该是*
  • fun函数缺少return语句
  • scanf格式字符串中%1f应为%lf
  • m1,m2,m3赋值调用fun函数时,少了()
#include <stdio.h>  
double fun(double x, int n) {  
    double s;
    int i;
    for (i = 1; i <= n; i++) {
        s = s * i;   
    }
    return s;
}

void main() {
    double a, b, m1, m2, m3, m;
    printf("请输人a和b: ");
    scanf("%lf%lf", &a, &b);
    m1 = fun(a, 4);   
    m2 = fun(b, 4);  
    m3 = fun(a + b, 3);  
    m = m1 + m2 + m3;
    printf("m = %f\n", m);
} 

望采纳!