C语言上机练习题及答案

精品文档

数字的立方和等于这个三位数本身。例如153=1*1*1+5*5*5+3*3*3。#include void main() { int x,a,b,c; scanf(\

a=x/100; b=(x/10); c=x; if(x==a*a*a+b*b*b+c*c*c)

printf(\ }

16输入年号,判断它是否为闰年。

#include void main() { int y; scanf(\

if(y@0==0||y%4==0&&y0!=0) printf(\ else

printf(\ }

17用for循环语句求n! 用递归法求n!

# include

int fac(int n); void main()

{

int n;

printf(\ scanf(\

printf(\ }

int fac(int n) { int t;

if (n==0||n==1)

6欢迎下载。

精品文档

t=1; else t=n*fac(n-1); else return (t); }

18用函数实现求最大公约数的程序。

# include int gcd(int a,int b); void main() {int a,b,m;

printf(\scanf(\m=gcd (a,b);

printf(\int gcd(int a,int b) { int t do{t=a%d; a=b;b=t;} while(b!=0); return(a); }

19用函数实现求最小公倍数的程序。

# include int gcd(int a,int b); int lcm(int a,int b); void main() {int a,b,m,n;

printf(\scanf(\m=gcd (a,b); n=lcm(a,b);

printf(\printf(\}

int gcd(int a,int b)

7欢迎下载

精品文档

{int t do { t=a%d; a=b;b=t;} while(b!=0); return(a);}

int lcm(int a,int b) { int t;

t=a*b/gcd(a,b); return (t); }

20编写判断水仙花的函数,从主函数输入一个三位正整数

N,在主函数中调用判

断水仙花数的函数,求出三位数中所有的水仙花数。水仙花数是指3位数的各位数字的立方和等于这个三位数本身。例如153=1*1*1+5*5*5+3*3*3。

#include

void f(m)

{ int x,y,z;

x=m/100;

y=m/10;

z=m;

if(m==x*x*x+y*y*y+z*z*z)

printf(\是水仙花数\\n \

else printf(\不是水仙花数\\n \

void main ()

{ int n;

scanf(\

f(n);

}

21将一个正整数逆续输出。

8欢迎下载

精品文档

# include void main() {

int n,digit; scanf(\while(n!=0) {digit=n;

printf(\n=n/10;} }

22 从键盘输入一个正整数n,计算该数的各位数字之和并输出。例如,输入数

是5246,则计算5+2+4+6=17并输出。

# include void main() {

int x,s=0,digit; scanf(\while(x!=0)

{ digit=x; 循环 x=x/10; s=s+digit;}

printf(\}

23输出九九乘法表。 #include void main() {

int a,b; for (a=1;a<=9;a++) ; {

for(b=1;b<=a;b++) ; {

printf(\ }

9欢迎下载

精品文档

printf(\}

23用数组实现从键盘输入10个数,并且输出这10个数。

#include void main () {

int a[10],*p=a,i;

printf(\for (i=0;i<10; i++) scanf(\printf(\for (i=0;i<10; i++) printf(\printf(\}

欢迎下载。

10

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4