/*在下面Begin至End间,按原型 int power(int x, int n) 定义函数*/
/********** Begin **********/
int power(int x,int n)
{
int i,j=1;
for(i=0;i<n;i++)
{
j*=x;
}
return j;
}
/********** End **********/
int main()
{
int a,b,s;
scanf("%d%d",&a,&b);
s = power(a,b); //调用power( )函数,求a与b的和
printf("%d\n",s);
return 0;
}
第2关 调用求x的n次幂的函数
#include <stdio.h>
int power(int x, int n)
{
int t=1;
int i;
for(i=0;i<n;i++)
{ t=t*x;
}
return t;
}
int main()
{
int a,b,s;
scanf("%d%d",&a,&b);
/*调用power( )函数,计算并输出a的b次幂*/
/********** Begin **********/
printf("%d\n",power(a,b));
/********** End **********/
/*调用power( )函数,计算并输出a的3次幂*/
/********** Begin **********/
printf("%d\n",power(a,3));
/********** End **********/
/*调用power( )函数,计算并输出2的a+b次幂*/
/********** Begin **********/
printf("%d\n",power(2,a+b));
/********** End **********/
/*调用power( )函数,求a的3次幂的b+2次幂 */
/********** Begin **********/
printf("%d\n",power(power(a,3),b+2));
/********** End **********/
return 0;
}
第3关 判断一个正整数是否为素数的函数
#include <stdio.h>
void prime(int m); //prime()函数声明
int main()
{
int a[10],i;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
prime(a[i]); //调用无返回值函数,判断a[i]是否是素数
}
return 0;
}
/*****定义void prime(int m) *****/
/********** Begin **********/
void prime(int m)
{
int i;
for(i=2;i<m;i++)
{
if(m%i==0)
{
printf("%d 不是素数.\n",m);break;
}
}if(i==m)
{
printf("%d 是素数.\n",m);
}
return;
}
/********** End **********/
第4关 编写函数计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和
#include<stdio.h>
/*****定义fun()函数*****/
/********** Begin **********/
int fun(int n)
{
int i;float j,s=0;
for(i=1;i<=n;i++)
{
if(i%5==0||i%9==0)
{
j=(float)i;
s+=(1/j);
}
}printf("%.2f",s);
}
/********** End **********/
/*****定义main()函数*****/
/********** Begin **********/
main()
{
int n;
scanf("%d",&n);
fun(n);
}
/********** End **********/
第5关 编写函数将两个两位数的正整数合并形成一个整数
#include <stdio.h>
/********** Begin **********/
int fun(int a,int b)
{
int i,j,k,l;
i=a%10;
j=10*(b/10);
k=100*(a/10);
l=1000*(b%10);
l=i+j+k+l;
return l;
}
main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("c=%d",fun(a,b));
}
/********** End **********/
第6关 调用求阶乘函数计算并输出1!+2!+3!+……+n!的值
#include <stdio.h>
/*****定义fact()函数*****/
/********** Begin **********/
int fact(int n)
{
int s=1;
for(int i=1;i<=n;i++)
{
s*=i;
}return s;
}
/********** End **********/
/*****定义fun()函数*****/
/********** Begin **********/
int fun(int n)
{
int i,s=0;
for(i=1;i<=n;i++)
{
s+=fact(i);
}return s;
}
/********** End **********/
/*****定义main()函数*****/
/********** Begin **********/
main()
{
int n;
scanf("%d",&n);
printf("sum=%d",fun(n));
}
/********** End **********/
第7关 调用求阶乘函数计算并输出p=m!/(n!*(m-n)!) 的值
#include <stdio.h>
/*****定义fact()函数*****/
/********** Begin **********/
int fact(int a)
{
int i,s=1;
for(i=1;i<=a;i++)
s*=i;
return s;
}
/********** End **********/
/*****定义fun()函数*****/
/********** Begin **********/
float fun(int a,int b)
{
float m,i,j;
i=(float)(fact(a));j=(float)(fact(b)*fact(a-b));
m=i/j;
return m;
}
/********** End **********/
/*****定义main()函数*****/
/********** Begin **********/
main()
{
int a,b;
scanf("%d%d",&a,&b);
for(;a<b;)
{
scanf("%d%d",&a,&b);
}printf("%f",fun(a,b));
}
/********** End **********/
第8关 编写函数交换两个变量的值
#include <stdio.h>
void swap(int *p1,int *p2);
/*****定义main()函数*****/
/********** Begin **********/
main()
{
int a,b;
scanf("%d%d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
return 0;
}
/********** End **********/
/*****定义swap()函数*****/
/********** Begin **********/
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
/********** End **********/