函数1
问题:假如银行只提供1年以上(包括1年)的定期存款,所有1年以上的存款利率为3%。编写一函数,通过用户输入的存款金额和存期,计算存款的本息总额(本金+利息)。
#include<stdio.h>
double sum(double q,double w)
{
double t;
if(q>=1)
{t=q*0.03*w+w;
}
else
{t=w;
}
return t;
}
int main()
{double a,b;
printf("存期=");
scanf("%lf",&a);
printf("存款金额=");
scanf("%lf",&b);
printf("总额=%f",sum(a,b));
return 0;
}
函数2
问题:写一个函数,求10个数中的最大值。要求:10个数在main中输入,通过调用函数显示最大值。
#include<stdio.h>
int max_value(int a[10])
{
int i,k;
k=a[0];
for(i=1;i<=9;i++)
{if(a[i]>=k)
{k=a[i];
}
}
return k;
}
int main()
{int result_max,a[10]={12,15,65,45,32,95,36,2,5,9};
result_max=max_value(a);
printf("max=%d",result_max);
return 0;
}
函数3
问题:用递归手段实现求n!
#include<stdio.h>
int aaa(int n)
{int i;
int m=1;
for(i=n;i>=1;i--)
{ m=m*i;
}
return m;
}
int main()
{int n;
printf("n=");
scanf("%d",&n);
if(n>=0 && n<=20)
{printf("n!=%d",aaa(n));
}
else
{printf("输入值不在范围之内");
}
return 0;
}
函数4
问题:编写一函数,求两个数的最大公约数和最小公倍数。
#include<stdio.h>
int a;//最大公倍数
int ggg(int x,int y) //求最大供应
{int copyx,copyy,t,r;
copyx=x;
copyy=y;
if(x<y)
{t=x;
x=y;
y=t;
}
r=x%y;
while(r!=0)
{x=y;
y=r;
r=x%y;
}
a=copyx*copyy/y;
return y;
}
int main()
{int x,y;
printf("请任意输入两位数;");
scanf("%d",&x);
scanf("%d",&y);
printf("最大公倍数=%d,最大公因数=%d",a,ggg(x,y));
return 0;
}
函数5
问题:编写一函数:int isPrim(int n)判断n是否为素数,若是,返回1,否则返回0。在main中输入一整数x(x>1,0和1既非素数也非合数),调用函数后显示结果,若是,显示“yes”,否则显示“no”。
#include<stdio.h>
int isprim(int n)
{int i,t;
t=1;
for(i=2;i<=n;i++)
{if(n%i==0 && n/i!=1)
{t=0;
break;
}
}
return t;
}
int main()
{
int x;
printf("输入任意一个数;");
scanf("%d",&x);
if(x>1)
{
if(isprim(x)==1)
{printf("yes");
}
else
{printf("no");
}
}
else
{printf("你输入的值不在范围内");
}
return 0;
}
函数6
问题:编写一函数int isFlower(int x),判断一个三位数是否为水仙化数。若一个三位数,其值等于各位数字立方之和,即为水仙化数。例如153=13+53+33。main中输入具体的一个三位数,并调用函数进行测试。
#include<stdio.h>
int isFlower(int x)
{int i,t,y,k,l;
l=x;
y=0;
for(i=1;i<=3;i++)
{t=x%10;
x=x/10;
y+=t*t*t;
}
if(y== l)
{k=1;
}
else
{k=0;
}
return k;
}
int main()
{
int i,n,p;
scanf("%d",&n);
int a[n];
for(i=0;i<=(n-1);i++)
{scanf("%d",&a[i]);
}
for(p=0;p<=(n-1);p++)
{if(isFlower(a[p])==1)
{printf("yes\n");
}
else
{printf("no\n");
}
}
return 0;
}