资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,2,章 部分习题参考答案,一、单项选择题:,DABDD DAAAB BCD,第,3,章 部分习题参考答案,一、单项选择题:,CACBB CDBBB ADCCB DCCBB,二、填空题:,a!=b|a20&x30|xc&a+cb&b+ca),p=(a+b+c)/2;,s=sqrt(p*(p-a)*(p-b)*(p-c);,printf(,三角形面积为,:%.2fn,s);,else printf(,输入的边长不能构成三角形,!n);,第,3,章 习题,3,、,#include,void main(),int x,y;,scanf(%d,if(x-5,else if(x=0)y=x;,else if(x0,else y=10;,printf(y=%dn,y);,if(x-5,if(x=0)y=x;,if(x0,if(x=8)y=10;,if(x=8)y=10;,else if(x=A&ch=a&ch=A&ch=a&ch=z),printf(%cn,ch-32);,elseprintf(%cn,ch);,第,3,章 习题,8.,#include,void main(),int year,flag=1;,double money,rate,total;,printf(,请输入存款本金和年限,:);,scanf(%lf%d,if(year=1)rate=0.00215;,else if(year=2)rate=0.0023;,else if(year=3)rate=0.00245;,else if(year=5)rate=0.00275;,else if(year=8)rate=0.0032;,else flag=0;,if(flag=1),total=money*(1+rate*12*year);,printf(,总金额为,:%.2lfn,total);,else printf(,输入的期限不正确,!n);,第,3,章 习题,#include,void main(),int year,flag=1;double money,rate,total;,printf(,请输入存款本金和年限,:);,scanf(%lf%d,switch(year),case 1:rate=0.00215;break;,case 2:rate=0.0023;break;,case 3:rate=0.00245;break;,case 5:rate=0.00275;break;,case 8:rate=0.0032;break;,default:printf(,输入的期限不正确,!n);flag=0;,if(flag=1),total=money*(1+rate*12*year);,printf(,总金额为,:%.2lfn,total);,第,4,章 部分习题参考答案,一、单项选择题,BCDBD BCDBB CCCCC BACDD,二、编程题,2.,编程输出,1200,之间所有能被,3,整除、且个位数为,6,的整数。,方法,2,:,#include,void main(),int i;,for(i=6;i=200;i=i+10),if(i%3=0),printf(%5d,i);,printf(n);,方法,1,:,#include,void main(),int i;,for(i=1;i=200;i+),if(i%3=0&i%10=6),printf(%5d,i);,printf(n);,3.,编程从键盘输入,k,的值及,k,个整数,统计其中的正数、零和负数的个数。,#include,void main(),int x,k,i,p=0,z=0,m=0;,printf(,请输入待输入数据的个数,:);,scanf(%d,printf(,请输入,%d,个整数,:,k);,for(i=1;i0)p+;,else if(x=0)z+;,else m+;,printf(,正数、,0,、负数个数分别为,:%d,%d,%dn,p,z,m);,第,4,章 习题,6.,编程求,e=1+1/1!+1/2!+1/3!+1/n!,,直到最后一项小于,10,-5,为止。,#include,void main(),float sum,n,m,c;,sum=1;n=1;m=1;c=1;,while(c=1E-5),m=m*n;,c=1/m;,sum=sum+c;,n=n+1;,printf(e=%fn,sum);,#include,void main(),int i=1;,double s=1,e=1;,while(1/s=1E-5),s=s*i;,e=e+1/s;,i+;,printf(e=%lfn,e);,第,4,章 习题,7.,输入两个正整数,m,和,n,,求其最小公倍数。,#include,void main(),int m,n,i;,printf(,请输入两个正整数,:);,scanf(%d%d,for(i=m;i+),if(i%m=0&i%n=0),break;,printf(%d,%d,的最小公倍数为,%dn,m,n,i);,#include,void main(),int m,n,i;,printf(,请输入两个正整数,:);,scanf(%d%d,i=m;,while(i%m!=0|i%n!=0),i+;,printf(%d,%d,的最小公倍数为,%dn,m,n,i);,第,4,章 习题,8.,输入若干学生的成绩,输入负数时表示输入结束,求所有学生的最高分。,#include,void main(),int cj,max=0;,printf(,输入成绩,以负数结束,:,);,scanf(%d,while(cj=0),if(maxcj)max=cj;,scanf(%d,printf(,最高分:,%dn,max);,#include,void main(),int cj,max=0;,printf(,输入成绩,以负数结束,:,);,while(1),scanf(%d,if(cj0)break;,if(maxcj)max=cj;,printf(,最高分:,%dn,max);,第,4,章 习题,13.,有,36,块砖,由,36,人搬:男人一次搬,4,块,女人一次搬,3,块,两个小孩抬,1,块,要求一次刚好全部搬完。问男、女、小孩各多少人?,#include,void main(),int x,y,z;/x,y,z,分别表示男,女,小孩数,for(x=0;x9;x+),for(y=0;y=1;i-),t=(t+1)*2;,printf(,第一天桃子数量为,:%dn,t);,第,4,章 习题,15.,求数列,2/1,3/2 ,5/3,8/5,的前,n,项之和。,#include,void main(),int a,b,t,i,n;,double sum=0.0;,printf(,请输入,n,:,);,scanf(%d,a=2,b=1;,for(i=1;i=n;i+),sum=sum+(double)a/b;,t=a;a=a+b;b=t;,printf(sum=%fn,sum);,第,4,章 习题,第,5,章 部分习题参考答案,一、单项选择题,BBADC BDBCC DDDDC BAACD,补,1,:输入,6,个整数到数组,a,中,将其逆序输出。,补,2,:输入,6,个整数到数组,a,中,将其逆序存储,然后输出。,补,1,:,#include,void main(),int i,a6;,for(i=0;i=0;i-),printf(%d ,ai);,printf(n);,补,2,:,#include,void main(),int i,j,a6,t;,printf(,请输入,6,个整数,:);,for(i=0;i6;i+),scanf(%d,for(i=0,j=5;ij;i+,j-),t=ai;ai=aj;aj=t;,printf(,逆序后数据为,:);,for(i=0;i6;i+),printf(%d ,ai);,printf(n);,0 1 2 3 4 5,3 7 5 2 6 1,a,第,5,章 习题,二、编程题,1.,#include,void main(),int a10,i,k,sum;,float ave;,printf(,请输入,10,个整数,:);,for(i=0;i10;i+),scanf(%d,sum=0,k=0;,for(i=0;i0)sum+=ai;k+;,ave=(float)sum/k;,printf(,正数的个数为,:%d,平均值为,:%.2fn,k,ave);,第,5,章 习题,2.,方法一:,#include,void main(),int a100,i,n,score;float sum,ave;,i=0,sum=0;,while(1),printf(,请输入第,%d,个学生成绩,:,i+1);,scanf(%d,if(score0)break;,ai=score;sum+=ai;,i+;,n=i;,ave=sum/n;,printf(,平均分为,:%.2fn,ave);,printf(,低于平均分的成绩有,:);,for(i=0;in;i+),if(ai=0),ai=score;sum+=ai;,i+;,scanf(%d,n=i;,ave=sum/n;,printf(,平均分为,:%.2fn,ave);,printf(,低于平均分的成绩有,:);,for(i=0;in;i+),if(aiave)printf(%d ,ai);,printf(n);,第,5,章 习题,4.-,改:,从键盘输入一个,33,的矩阵,求该矩阵主对角线与副对角线上的元素之和。,#include,void main(),int a33,i,j,sum=0;,printf(,请输入,33,矩阵元素,:n);,for(i=0;i3;i+),for(j=0;j3;j+),scanf(%d,if(i=j|i+j=2),sum=sum+aij;,printf(,主副对角线元素和,:%dn,sum);,第,5,章 习题,5.,#include,#define M 3,#define N 4,void main(),int i,j;,float aMN,bM,sum;,printf(,请输入,%d%d,矩阵,:n,M,N);,for(i=0;iM;i+),sum=0;,for(j=0;jN;j+),scanf(%f,sum+=aij;,bi=sum/N;,printf(,各行平均值为:,);,for(i=0;i=0;i-),printf(%c,ai);,printf(n);,第,5,章 习题,9.,#include,void main(),char s180,s240;,int i,j;,printf(,请输入第,1,个字符串,:);,gets(s1);,printf(,请输入第,2,个字符串,:);,gets(s2);,i=0;,while(s1i!=0),i+;,j=0;,while(s2j!=0),s1i=s2j;i+;j+;,s1i=0;,printf(,连接后的字符串为,:%sn,s1);,第,5,章 习题,10.,#include,void main(),char s180,s280;,int i;,printf(,请输入一个字符串,:);,gets(s2);,for(i=0;s2i!=0;i+),s1i=s2i;,s1i=0;,printf(,复制后的字符串为,:%sn,s1);,第,5,章 习题,13.,/,冒泡法升序排序,#include,#include,void main(),int n,i,j;,char t,s80;,printf(,请输入字符串,:);,gets(s);,n=strlen(s);,for(i=0;in-1;i+),for(j=0;jsj+1),t
展开阅读全文