7-1 A - C语言实验——计算表达式
#include<stdio.h>
#include<math.h>
double f(double x,int n)
{
double y;
if(n==1)
{
y=sqrt(n+x);
}
else
y=sqrt(n+f(x,n-1));
return y;//double定义函数,不是void需要有返回值
}//写函数咯;
int main()
{
double x;
int n;
double y;
scanf("%lf %d",&x,&n);
y=f(x,n);
printf("%.2lf",y);
return 0;
}
7-2 B - 求数列的和
#include<stdio.h>
#include<math.h>
int main()
{
int n,m,i;
double sum1,sum2,a;
while(scanf("%d %d",&n,&m)!=EOF)
{
sum1=n;
sum2=n;
a=n;
for(i=1;i<m;i++)
{
sum1=sqrt(a);//sqrt为开平方函数,可以直接使用;
a=sum1;
sum1=sum2+sum1;
sum2=sum1;
}
printf("%.2f\n",sum1);
}
return 0;
}
7-3 C - C语言实验——一元二次方程Ⅰ
#include<stdio.h>
#include<math.h>
double f(double a,double b,double c)
{
double x1,x2,t;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
if(x1 < x2)
{
t=x1;
x1=x2;
x2=t;
}
printf("%.2lf %.2lf",x1,x2);
return 0;
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
f(a,b,c);
return 0;
}
7-4 D - 求三角形面积
#include<stdio.h>
#include<math.h>
double f(double a,double b,double c)
{
double s,p;
p=(a+b+c)/2;
s=sqrt((p*(p-a) * (p - b) * (p -c)));
printf("%.3lf",s);
return 0;
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
f(a,b,c);
return 0;
}
7-5 E - 求实数绝对值
#include<stdio.h>
#include<math.h>
void f(double x)
{
double y;
if(x>0)
y=x;
else y=-x;
printf("%.2lf\n",y);
}//void函数,不需要返回值
int main()
{
double x;
while(~scanf("%lf",&x))
{
f(x);
}
return 0;
}
7-6 F - C/C++程序训练6---歌德巴赫猜想的证明
#include<stdio.h>
int f(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(n==i)
return 1;
else return 0;
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=3;i<n;i++)
{
if(f(i)==1&&f(n-i)==1)
break;
}
printf("%d=%d+%d",n,i,n-i);
return 0;
}
7-7 G - N!
#include<stdio.h>
int f(int n,int m)
{
long a=1,b=1,c=1;
int i;
for(i=n;i>0;i--)
a=a*i;
for(i=m;i>0;i--)
b=b*i;
for(i=n-m;i>0;i--)
c=c*i;
printf("%ld %ld\n",a/c,a/c/b);
return 0;
}
int main()
{
int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
f(n,m);
}
return 0;
}
7-8 H - 分段函数
#include<stdio.h>
#include<math.h>
double f(double x)
{
double y;
if(x>0&&x<10) y=log2(x);
if(x==0) y=0;
if(x<0) y=-x+sin(x);
if(x>=10) y=x*x;
printf("%.2lf\n",y);
return 0;
}
int main()
{
int t,i;
double x;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%lf",&x);
f(x);
}
return 0;
}
7-9 I - C/C++经典程序训练2---斐波那契数列
#include<stdio.h>
int f(int n)
{
int y;
if(n==1||n==2)
y=1;
else
y=f(n-1)+f(n-2);
return y;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
7-10 J - 计算题
#include<stdio.h>
int f(int m,int n)
{
int y;
if(m==1) y=n;
if(n==1) y=m;
if(n>1&&m>1) y=f(m-1,n)+f(m,n-1);
return y;
}
int main()
{
int n,m,t,i,y;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d %d",&m,&n);
y=f(m,n);
printf("%d\n",y);
}
return 0;
}
7-11 K - 斐波那契?
#include<stdio.h>
int f(int n)
{
int y;
if(n==1) y=2;
if(n==2) y=3;
if(n==3) y=5;
if(n>3) y=f(n-1)+f(n-2)-f(n-3);
return y;
}
int main()
{
int n,y;
scanf("%d",&n);
y=f(n);
printf("%d",y);
return 0;
}
7-12 L - 高中数学?
#include<stdio.h>
int f(int n)
{
int y;
if(n==1) y=0;
if(n==2) y=1;
if(n>=3) y=4*f(n-1)-5*f(n-2);
return y;
}
int main()
{
int i,n,y,t;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d",&n);
y=f(n);
printf("%d\n",y);
}
return 0;
}
7-13 M - 计算组合数
#include<stdio.h>
int f(int n,int m)
{
int y;
if(m==0) y=1;
else if(n==1) y=1;
else if(n==m) y=1;
else y=f(n-1,m-1)+f(n-1,m);
return y;
}
int main()
{
int i,n,y,m,t;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d %d",&n,&m);
y=f(n,m);
printf("%d\n",y);
}
return 0;
}
加油加油加油!!!