C语言程序设计经典题目大汇总(6)

2018-11-19 22:05

q=funq(m,n);

printf(\ } }

int funp(int m,int n) {

int i;

if(m>n){i=m;m=n;n=i;}

for(i=m;i>0;i--)if(m%i==0&&n%i==0)return(i); }

int funq(int m,int n) {

int i;

if(m

for(i=m;i<=m*n;i+=m)if(i%n==0)return(i); }

12.编写一个函数,由参数传入一个字符串,统计此字串中字母、数字和其他字符的个数,在主函数中输入字符串并显示统计结果。 未制作函数,主要利用了选择语句结构: #include\main()

{

int i,c,zm=0,sz=0,kg=0,qt=0; printf(\ while((c=getchar())!='\\n') if(c==' ')kg++;

else if(c>47&&c<58)sz++;

else if(c>='A'&&c<='Z'||c>='a'&&c<='z')zm++; else qt++;

printf(\}

制作函数,利用函数调用: #include\int analys(char ch); main( ) {

int i,zm=0,sz=0,qt=0,c; printf(\ while((c=getchar())!='\\n') {

i=analys(c);

switch(i)

{

case 1: zm++; break; case 2: sz++; break; case 3: qt++; } }

printf(\}

int analys(char ch)

{

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')return 1; if(ch>47&&ch<58)return 2; return 3; }

13.按照第5章第8题的要求编写判断水仙花数的函数,从主函数输入正整数n,在主函数中调用判断水仙花数的函数,找出n以内所有的水仙花数。

【输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位数字的立方和等于这个3位数本身。例如,153=1*1*1+5*5*5+3*3*3】 main() {

int x,i,f;

printf(\ scanf(\ for(i=0;i<=x;i++) { f=0;

f=fun(i);

if(f==1)printf(\ }

getch(); }

int fun(int x) {

int a,b,c; a=x/100; b=x/10; c=x;

if(a*a*a+b*b*b+c*c*c==x)return 1; else return 0; }

14.定义一个宏,实现将两个数互换,并写出程序,输入两个数作为使用参数,并显示结果。 #define f(a,b) (a=a+b,b=a-b,a=a-b) main() {

int x,y;

printf(\ scanf(\ printf(\ f(x,y);

printf(\ getch(); }

15.已知二阶Fibonacci数列:

0 若n=0 Fib(n)= 1 若n=1 Fib(n-1)+Fib(n-2) 其它情况 定义递归函数求Fib(n)。 main() {

int i,n;

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

printf(\ getch(); }

int fib(int n)

{

if(n==0)return 0;

else if(n==1)return 1;

else return (fib(n-1)+fib(n-2)); }

16.定义函数求F=(n+m)!+n!,m、n均为任意正整数。要求使用递归调用。 long int f(int x); main()

{

int i,m,n; long int sum;

printf(\ scanf(\ sum=f(n+m)+f(n); printf(\ getch();

}

long int f(int x) {

int i,j;

if(x==0||x==1)return 1; else return(x*f(x-1)); }

17.定义一个函数完成第5章第11题的功能。 【输出九九乘法表。】 main() {

fun(); getch(); } fun() {

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=i;j++)

printf(\ printf(\ } }

18.如果有两个数,每一个数的所有约数(除了它本身以外)的和正好等于对方,则称这两个数为互满数,求出30000以内所有的互满数,并显示输出,求一个数它的所有约数(除了它本身以处)的和,用函数实现。 main() {

int x,y;

for(x=1;x<30000;x++) {

for(y=1;y

{

if(facsum(x)==y&&facsum(y)==x){printf(\ } }

getch(); }

facsum(int n) {

int i,sum=0;

for(i=1;i

{

if(n%i==0)sum+=i; }

return sum; }

19.设计程序完成下列计算。

已经:y=f(x,n)/(f(x+2.3,n)+f(x-3.2,n+3))

其中:f(x,n)=1-x2/2!+x4/4-...+(-1)n·x2n/(2n)! (n≥0) 当: x=5.6, n=7时,求:y 要求通过嵌套调用完成计算。 #include float f(float x,int n); float f1(float x,int m); float f2(int m); main()

{

float x=5.6,y; int n=7,i;

y=1+f(x,n)/(f(x+2.3,n)+f(x-3.2,n+3)); printf(\}

float f(float x,int n) {

float sum=0.0; int i;

for(i=1;i<=n;i++)

{

sum+=f1(-1,i)*f1(x,2*i)/f2(2*i); }

return sum; }

float f1(float x,int m) {

int i;

float y=1.0;

for (i=1;i<=m;i++) {

y*=x; }


C语言程序设计经典题目大汇总(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Chapt.7 精密与特种加工技术(课件)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: