1.编写一个计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac
计算阶乘并输出计算结果。
2.编写一个求x的y次幂的函数pw,在main函数中从键盘输入a.b的值,然后调用pw
函数求a的b次幂,并输出结果。
3.写一函数max,计算三个数中最大数。在主函数中输入三个数,调用该函数求出其中最
大数并输出.(要求三个数是实数)
4.写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m,n两个正整数,
调用函数后,打印函数返回值(即这两个正整数的最大公约数)。
5.编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中调用该函数,
输出200以内所有的素数。
6.编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中输入一个整
数,调用该函数,判断该函数是不是素数,若是输出“YES”,若不是输出“NO”.
7.将1—1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。
8.在屏幕上打印以下图案:(在屏幕上打印以下图案:(要求打印n行,n用符号常量定义
为7)
*
**
***
9.输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数
有多少个。
10.求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。
11.编写一个程序从键盘输入10个学生的成绩到数组score中,将最高分、最低分输出。
12.在main()函数输入一个人的年龄和性别,女士55岁退休,男士60岁退休。编写一个函
数根据年龄和性别判断一个人是工作还是退休,若工作,则输出“Working”,若退休则输出“retired”。
13.编写一个函数求一个实数的绝对值。然后在main函数中用scanf输入任意个实数,调
用该函数求它的绝对值并输出。
14.编写一求1-n内的偶数和的函数,在main函数中输入n,然后调用该函数求1-n的偶
数和并输出。
15.编写一个函数,将将三个数由小到大的顺序排列并输出,在main函数中输入三个数,
调用该函数完成这三个数的排序。
16.编写一函数,将摄氏温度转换华氏温度,转换公式为:f=1.8*c+32.0。在main函数中调
用该函数,计算并在屏幕上显示从摄氏0度到100度,每隔10度转换一次的华氏温度。
17.编写一个函数,该函数的功能是打印1——n中所有7的倍数,在main函数中输入n,
调用该函数输出结果。printf函数具有计算功能吗
18.编写一个函数判断一个正整数是否为奇数,在主函数中用scanf输入正整数m,调用该
函数后,根据函数返回值判断这个正整数是否为奇数,若是则输出“yes”,若不是则输出”
no”。
19.编写一个函数,判断某一个四位数是不是玫瑰花数。在主函数中从键盘任意输入一个四
位数,调用该函数,判断该数是不是玫瑰花数,若是则输出“yes”,若不是则输出”no”。
20.编写一个函数,判断某一个三位数是不是水仙花数。在主函数中调用该函数,输出所有
水仙花数。
21.编写一个函数,函数的功能是求出所有在正整数M和N之间能被5整除但不能被3整
除的数并输出,其中M<N。在主函数中调用该函数求出100至200之间能被5整除但
不能被3整除的数。
22.编写一个函数,函数的功能:检验一个输入的四位数是否是闰年,如果是闰年则返回1,
否则返回0。在主函数中从键盘任意输入一个四位数,调用该函数进行判断,若是则输出“yes”,若不是则输出”no”。
23.编写一个函数,求两数中的较大数。在main函数中输入三个数,调用该函数求这三个
数的较大数并在屏幕上输出。
24.编写一个函数min,返回三个数中的最小数。在main函数中输入三个数,调用该函数
求这三个数的最小数并在屏幕上输出。
25.编写一个函数计算n!。在主函数中调用该函数计算1!+2!+3!+……10!,并输出结
果。
26.编写一个求直角三角形的面积的函数。在主函数中从键盘输入直角三角形的两个直角
边,调用该函数求该直角三角形的面积。
27.编写一个求圆的面积的函数。在main函数中从键盘输入半径,然后调用该函数求该圆
的面积。
28.某商场根据客户购物的数量打折,根据商品的单价p数量n,编写函数fun计算应付款。
在main函数中输入单价和数量,调用该函数输出应付款。
29.编写一个函数,判断给定的三边长能否构成直角三角形,能构成直角三角形则返回1,
否则返回0。在main函数中从键盘输入三边长,调用该函数,若是直角三角形则输出“yes”,若不是则输出”no”。
30.编写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整
数,调用该函数后,打印这两个正整数的最小公倍数。
31.编写一个程序从键盘输入三个整形数据,按从小到大的顺序输出。
32.编写一个程序从键盘输入三个整形数据,求它们的和及平均值并在屏幕上显示。
33.设a,b是直角三角形的两条直角边,用scanf输入a,b的值,计算并输出直角三角形的
周长。
34.编写一个程序从键盘输入圆柱体的底面半径r和高h,求圆柱体的体积。
35.用scanf输入一个梯形的上底a,下底b,和高h,求梯形的面积s。
36.编写一个程序从键盘输入10个整数,求均值和低于均值的个数。
37.编写一个程序,输出下列数列的前20项,0,1,1,2,3,5,8,13,21,24。
38.求解一个一元二次方程(分别考虑幂为0,1,2次情况)。
39.假设某人有钱100枚,希望买100只鸡,公鸡6圆一只,母鸡4圆一只,小鸡0.5圆一
只。试问可以包含几只公鸡,几只母鸡,几只小鸡。
40.任意输入等比数列的初值和一个公比,求等比数列的前20项的和。
答案
1.#include<stdio.h>
long fac(int n)
{long f;
if (n=0)
f=1;
else
f=n*fac(n-1);
return f
}
main()
{long y;
int n;
printf();
scanf(“%d”,&n);
y=fac(n)
printf(“%d!=%1d”,n,y,);
}
2. #include<stdio.h>
long pw(int x,int y)
{
long s=1;
int i;
for(i=1;i<=y;i++)
s=s*x
return s;
}
main()
{
long sum;
int a,b
printf(“\nEntera,b:”);
scanf(“%d%d”,&a,&b);
sum=pw(a,b)
printf(“The sum is %1d”,sum); }
3. #include<stdio.h>
int max(int a,int b,int c)
{
int max;
if(a>b)
max=a;
else
max=b;
if(max,c)
return max;
}
main()
{
int x,y,z;
int m;
printf(“\nEnterx,y,z:”);
scanf(“%d%d%d”,&x,&y,&z);
m=max(x,y,z)
printf(“The max is %1d.”,m);
}
4. #include<stdio.h>
int gcd(int m,int n)
{
if(m%n==0)
return n;
else
return gcd(n,m%n)
}
main()
{
inta,b,c,temp;
scanf(“%d%d”,&a,&b)
if(a>b)
temp=a
b=temp
a=b;
c=gcd(a,b)
printf(“%d”,c)
}
5. #include<stdio.h>
void f(int n)
{
int i
for(i=2;i<=n;i++)
if(n%i==0)
break
if(i=n)
printf(“%d\t”,n)
}
main()
{
int j
for(j=2;j<200;j++)
f(j)
}
6. #include<stdio.h>
void f(int n)
{
int i
for(i=2;i<=n;i++)
if(n%i==0)
break
if(i=n)
printf(“yes”)
else
printf(“no”)
}
main()
{
int m;
printf(“\nEnter zhe m:”)
scanf (“%d”,&m)
f(m)
}
7. #include<stdio.h>
main()
{int i,j=0,a[50];
for(i=1;i<=1000;i++)
{if(i%2==0)
{a[j]=i;
printf(“%5d”,a[j])
if(j%5==4)
j++
}
}
}
8. #include<stdio.h>
#define N 7
main()
{
int i,j,m;
for(i=1;i<=N;i++)
{
for(j=1;j<=N-i;j++)
printf(“”)
for(m=1;m<=i;m++)
printf(“*”);
printf(“\n”);
}
}
9. #include<stdio.h>
main()
{int i,j=0;
for(i=200;i<=300;i++)
{if(i%6==0&&i%4!=0)
{j++;
printf(“%d\n”,i);