C语言第七章习题答案

读书破万卷下笔如有神7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。hcf(u,v)intu,v;{inta,b,t,r;if(u>v){t=u;u=v;v=t;}a=u;b=v;while((r=b%a)!=0){b=a;a=r;}return(a);}lcd(u,v,h)intu,v,h;{intu,v,h,l;scanf(%d,%d,&u,&v);h=hcf(u,v);printf(H.C.F=%dn,h);l=lcd(u,v,h);printf(L.C.d=%dn,l);return(u*v/h);}#include读书破万卷下笔如有神voidmain(){intu,v,h,l;scanf(%d,%d,&u,&v);h=hcf(u,v);printf(H.C.F=%dn,h);l=lcd(u,v,h);printf(L.C.D=%dn,l);}7.2求方程根floatx1,x2,disc,p,q;greater_than_zero(a,b)floata,b;{x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);}equal_to_zero(a,b)floata,b;{x1=x2=(-b)/(2*a);}smaller_than_zero(a,b)floata,b;{p=-b/(2*a);读书破万卷下笔如有神q=sqrt(disc)/(2*a);}main(){floata,b,c;printf(输入方程的系数a,b,c:n);scanf(%f,%f,%f,&a,&b,&c);printf(方程是:%5.2f*x*x+%5.2f*x+%5.2f=0n,a,b,c);disc=b*b-4*a*c;瀠楲瑮?方程的解是:n);if(disc>0){great_than_zero(a,b);printf(X1=%5.2ftX2=%5.2fnn,x1,x2);}elseif(disc==0){zero(a,b);printf(X1=%5.2ftX2=%5.2fnn,x1,x2);}else{small_than_zero(a,b,c);printf(X1=%5.2f+%5.2fitX2=%5.2f-%2.2fin,p,q,p,q);读书破万卷下笔如有神}}7.3写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。#include#includevoidmain(){intnumber;scanf(%d,&number);if(prime(number))printf(yes);elseprintf(o);}intprime(number)intnumber;{intflag=1,n;for(n=2;n#includevoidmain(){charstr[100];瀠楲瑮?输入字符串:n);scanf(%s,str);inverse(str);:%sn,str);转换后的字符串是瀠楲瑮?读书破万卷下笔如有神}inverse(str)charstr[];{chart;inti,j;for(i=0,j=strlen(str);i<(strlen(str)/2;i++,j--){t=str[i];str[i]=str[i-1];str[i-1]=t;}}7.6写出一个函数,将两个字符串连接。charconcatenate(string1,string2,string);charstring1[],string2[],string[];{inti,j;for(i=0;string1[i]!='';i++)string[i]=string1[i];读书破万卷下笔如有神for(j=0;string2[j]!='';j++)string[i+j]=string2[j];string[i+j]='';}#includevoidmain(){chars1[100],s2[100],s[100];printf(输入字符串1:n);scanf(%s,s1);牰湩晴尨输入字符串2:n);scanf(%s,s2);concatenate(s1,s2,s);牰湩晴尨连接后的字符串:%sn,s);}7.8写一个函数,输入一个4位数字,要求输出这4个数字字符,但是两个数字间空一个空格。#includevoidmain(){charstr[80];读书破万卷下笔如有神牰湩晴尨请输入含有四个数字的字符串:n);scanf(%s,str);insert(str);}insert(str)charstr[];{inti;for(i=strlen(str);i>0;i--){str[2*i]=str[i];str[2*i-1]='';}printf(结果是:n%s,str);}7.9编写一个函数,由实参传来一个字符串字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。#includeintalph,digit,space,others;voidmain(){chartext[80];gets(text);alph=0,digit=0,space=0,others=0;count(text);读书破万卷下笔如有神printf(alph=%d,digit=%d,space=%d,others=%dn,alph,digit,space,others);}count(str)charstr[];{inti;for(i=0;str[i]!='';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))alph++;elseif(str[i]>='0'&&str[i]<='9')digit++;elseif(strcmp(str[i],'')==0)space++;elseothers++;}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?