- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、程序填空题
导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。
【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include stdio.hmain(){ int a,b;scanf(%d%d,a,b);printf(a=%d,b=%d\n,a,b);a= ① ; b= ② ; a= ③ ;printf(a=%d,b=%d\n,a,b);}
【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include math.hdouble pi(long n){ double s=0.0;long i;for(i=1;i=n;i++)s=s+ ① ;return( ② );}
【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;pt;p++)if(s[p]s[*k])① ; }main(){ int a[10],i,*k=i;for(i=0;i10;i++)scanf(%d,a[i]);findmin(a,10,k);printf(%d,%d\n,*k,a[*k]);}
【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。main(){ int i,t=1,s=0;for(i=1;i=101;i+=2){ ① ;s=s+t;② ;}printf(%d\n,s);}
【3.5】有以下程序段:s=1.0;for(k=1;k=n;k++)s=s+1.0/(k*(k+1));printf(%f\n,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0;① ;k=0; do{ s=s+d;② ;d=1.0/(k*(k+1));}while( ③ );printf(%f\n,s);
【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。main(){ float x,amax,amin;scanf(%f,x);amax=x;amin=x;while( ① ){ if(xamax) amax=x; if( ② ) amin=x;scanf(%f,x);}printf(\namax=%f\namin=%f\n,amax,amin);}
【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。fun(int x,int b[]){ int k=0,r;do{ r=x% ① ;b[k++]=r;x/= ② ;}while(x);}
【3.8】下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。main(){ int n,k=1,s=0,m;for(n=1;n=100;n++){ k=1;s=0;① ;while( ② ) { k*=m%10;s+=m%10;③ ;}if(ks)printf(%d,n);}}
【3.9】下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。main(){ int i,j,k,count=0;for(i=1;i=9;i++)for(j=0;j=9;j++)if( ① ) continue;else for(k=0;k=9;k++)if( ② ) count++;printf(%d,count);}
【3.10】下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。main(){ int i,j;for(i=0; ① ;i++) { j=i*10+6;if( ② ) countinue;printf(%d,j);}}
【3.11】下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。hcf(int m,int n){ int r;if(mn){ r=m;① ;n=r;}r
文档评论(0)