C语言基础问题怎么解

img


#include<stdio.h>

double f(double x,int n)

{if(n==0)return 1;

  else if(n>0)return x*f(x,n-1);

else return f(x,n+1)/x;

}

int main()

{ double x;

int n;

scanf("%lf%dc",&x,&n);

if(x==0)

{

if(n!=0)

printf("%lg^%d=0\n",x,n);

else

printf("error!");

}

else

printf("%lg^%d=%lg\n",x,n,f(x,n));

getch();

return 0;

}
#include<stdio.h>
 
long sum(int n)
{
    return((1+n)*n/2);
}
 
int main()
{
    int n;
    printf("n=");
    scanf("%d",&n);
    printf("sum=%d\n",sum(n));
    return(0);
}

#include<stdio.h>
int runnian(int a);
int tian(int b);


int main()
{
    int a,b,c,d;
    scanf("%d %d %d",&a,&b,&c);
    d=tian(b);
    printf("该天是本年的第%d天",d+c);
    return 0;
}
int runnian(int a)
{
    if((a%4= =0 && a%100!=0) ||(a%400= =0))
    return 1;
    else 
    return 0;
}
int tian(int b)//求前面已经过去了的月份的天数,例如5月9日,则求4+3+2+1月份天数
{
    int i,j,a;
    j=runnian(a); 
        switch (b-1)
        {
            case  11: i+=30;
            case  10: i+=31; 
            case   9: i+=31;
            case   8: i+=30;
            case   7: i+=31;
            case   6: i+=30;
            case   5: i+=31;
            case   4: i+=30;
            case   3: i+=31;
            case   2: 
            {
                if(j==1)
                i+=29;
                else
                i+=28;
            };
            case  1: i+=31;
            default:
            break;
        }
    return i;
}