欢迎来到天天文库
浏览记录
ID:37125628
大小:83.50 KB
页数:27页
时间:2019-05-18
《C语言函数练习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、---C语言程序设计实验教学(8)【实验目的】函数是C程序的基本组成部分,学习函数的设计和调用是很重要的。实验目的是掌握函数的定义、变量的作用域和函数的调用。【实验要求】实际应用程序通常是由多个函数构成的,要求将常见的功能模块用函数形式实现,并学会在主函数或其他函数中调用定义的函数。要学会函数声明。【实验课时】6.0【实验内容】1.编写函数fun(n),n为三位自然数,判断n是否为水仙花数,是返回1,否返回0。编写main函数,输入一个数num,调用fun(num)函数,并输出判断结果。#include2、o.h>#includeintfun(intn){inta,b,c;a=n%10;b=n/10%10;c=n/100;----if(a*a*a+b*b*b+c*c*c==n)return(1);elsereturn(0);}voidmain(){intnum;clrscr();scanf("%d",&num);while(num<1003、4、num>=1000){printf("pleaseenterthenumagain!(num>=100&&num<1000)");scanf("%d",&5、num);}if(/**/fun(num)==1/**/)printf("%disasxhs.",num);elseprintf("%disnotasxhs.",num);}1.编写函数ss(n),判断n是否为素数,是返回1,否返回0。编写main函数,输入一个数num,调用ss(num)函数,并输出判断结果。#include----#includeintss(intn){inti;for(i=2;i=n)retu6、rn(1);elsereturn(0);}voidmain(){intnum;clrscr();scanf("%d",&num);if(/**/ss(num)==1/**/)printf("%disasushu.",num);elseprintf("%disnotasushu.",num);}1.编写一个函数fun(n),计算n!,并编写main函数测试,在main函数中输入num,调用fun(num),输出计算的结果。----#include#includelongf7、un(intn){longs=1;inti;for(i=1;i<=n;i++)s=s*i;return(s);}voidmain(){intnum;clrscr();scanf("%d",&num);if(num>0)printf("%d!=%ld",num,/**/fun(num)/**/);elseprintf("inputdataerror!");}1.使用递归函数实现计算n!,并在main函数中调用。#include#includelongfun(intn)--8、--{longf;if(n==19、10、n==0)f=1;elsef=n*fun(n-1);returnf;}voidmain(){intnum;clrscr();scanf("%d",&num);if(num>0)printf("%d!=%ld",num,/**/fun(num)/**/);elseprintf("inputdataerror!");}1.某数列为K(n)的定义为:用递归的方法求该数列的第6项k(6)。1n=1k(n)=k(n-1)×2n为偶数k(n-1)×3n为奇数#include11、io.h>----#includeintk(intn){intc;if(n==1)c=1;elseif(n%2==0)c=k(n-1)*2;elsec=k(n-1)*3;returnc;}voidmain(){intm;clrscr();scanf("%d",&m);if(m>=1)printf("k(%d)=%d",m,/**/k(m)/**/);elseprintf("inputdataerror!");}1.计算s=(1!)+(1!+2!)+…+(1!+…+n!)。n由用户输入,小12、于10。(设计:函数h1(n)计算n的阶乘;函数h2(m)计算1!+2!+…+m!的累加运算。在主函数中调用h2()函数,h2()函数中调用h1()函数来实现累加。)----#include#includelongh1(intn){longt=1;inti;for(i=1;i<=n;i++)t=t*i;returnt;}longh2(i
2、o.h>#includeintfun(intn){inta,b,c;a=n%10;b=n/10%10;c=n/100;----if(a*a*a+b*b*b+c*c*c==n)return(1);elsereturn(0);}voidmain(){intnum;clrscr();scanf("%d",&num);while(num<100
3、
4、num>=1000){printf("pleaseenterthenumagain!(num>=100&&num<1000)");scanf("%d",&
5、num);}if(/**/fun(num)==1/**/)printf("%disasxhs.",num);elseprintf("%disnotasxhs.",num);}1.编写函数ss(n),判断n是否为素数,是返回1,否返回0。编写main函数,输入一个数num,调用ss(num)函数,并输出判断结果。#include----#includeintss(intn){inti;for(i=2;i=n)retu
6、rn(1);elsereturn(0);}voidmain(){intnum;clrscr();scanf("%d",&num);if(/**/ss(num)==1/**/)printf("%disasushu.",num);elseprintf("%disnotasushu.",num);}1.编写一个函数fun(n),计算n!,并编写main函数测试,在main函数中输入num,调用fun(num),输出计算的结果。----#include#includelongf
7、un(intn){longs=1;inti;for(i=1;i<=n;i++)s=s*i;return(s);}voidmain(){intnum;clrscr();scanf("%d",&num);if(num>0)printf("%d!=%ld",num,/**/fun(num)/**/);elseprintf("inputdataerror!");}1.使用递归函数实现计算n!,并在main函数中调用。#include#includelongfun(intn)--
8、--{longf;if(n==1
9、
10、n==0)f=1;elsef=n*fun(n-1);returnf;}voidmain(){intnum;clrscr();scanf("%d",&num);if(num>0)printf("%d!=%ld",num,/**/fun(num)/**/);elseprintf("inputdataerror!");}1.某数列为K(n)的定义为:用递归的方法求该数列的第6项k(6)。1n=1k(n)=k(n-1)×2n为偶数k(n-1)×3n为奇数#include11、io.h>----#includeintk(intn){intc;if(n==1)c=1;elseif(n%2==0)c=k(n-1)*2;elsec=k(n-1)*3;returnc;}voidmain(){intm;clrscr();scanf("%d",&m);if(m>=1)printf("k(%d)=%d",m,/**/k(m)/**/);elseprintf("inputdataerror!");}1.计算s=(1!)+(1!+2!)+…+(1!+…+n!)。n由用户输入,小12、于10。(设计:函数h1(n)计算n的阶乘;函数h2(m)计算1!+2!+…+m!的累加运算。在主函数中调用h2()函数,h2()函数中调用h1()函数来实现累加。)----#include#includelongh1(intn){longt=1;inti;for(i=1;i<=n;i++)t=t*i;returnt;}longh2(i
11、io.h>----#includeintk(intn){intc;if(n==1)c=1;elseif(n%2==0)c=k(n-1)*2;elsec=k(n-1)*3;returnc;}voidmain(){intm;clrscr();scanf("%d",&m);if(m>=1)printf("k(%d)=%d",m,/**/k(m)/**/);elseprintf("inputdataerror!");}1.计算s=(1!)+(1!+2!)+…+(1!+…+n!)。n由用户输入,小
12、于10。(设计:函数h1(n)计算n的阶乘;函数h2(m)计算1!+2!+…+m!的累加运算。在主函数中调用h2()函数,h2()函数中调用h1()函数来实现累加。)----#include#includelongh1(intn){longt=1;inti;for(i=1;i<=n;i++)t=t*i;returnt;}longh2(i
此文档下载收益归作者所有