收藏 分销(赏)

C语言课后习题参考答案ppt课件.ppt

上传人:二*** 文档编号:12600969 上传时间:2025-11-09 格式:PPT 页数:45 大小:125KB 下载积分:5 金币
下载 相关 举报
C语言课后习题参考答案ppt课件.ppt_第1页
第1页 / 共45页
本文档共45页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,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=sj,sj=sj+1,sj+1=t;,printf(,排序后字符串,:);,puts(s);,/,选择法升序排序,#include,#include,void main(),int n,i,j,m;,char t,s80;,printf(,请输入字符串,:);,gets(s);,n=strlen(s);,for(i=0;in-1;i+),m=i;,for(j=i+1;jn;j+),if(sjsm)m=j;,if(m!=i),t=si,si=sm,sm=t;,printf(,排序后字符串,:);,puts(s);,第,5,章 习题,第,6,章 部分习题参考答案,一、单项选择题,CAAAB DCBBB CADAD CDBA A,注:第,20,小题不做要求,二、编程题,3.,#include,void main(),int min(int,int,int);,int a,b,c,d,e,m1,m2;,printf(,请输入,5,个整数,:);,scanf(%d%d%d%d%d,m1=min(a,b,c);,m2=min(m1,d,e);,printf(,最小值为,:%dn,m2);,int min(int x,int y,int z),int m;,if(xy)m=x;,else m=y;,if(zm)m=z;,return m;,第,6,章 习题,4.,#include,#include,void main(),int prime(int m);,int i;,for(i=2;i=100;i+),if(prime(i)printf(%5d,i);,printf(n);,int prime(int m),int k,n;,n=(int)sqrt(m);,for(k=2;k=n;k+),if(m%k=0)return 0;,return 1;,第,6,章 习题,5.,#include,int fgcd(int m,int n)/,最大公约数函数,int i;,i=mm?m:n;,for(;i+),if(i%m=0&i%n=0),return i;,void main(),int a,b,gy,gb;,printf(,请输入两个整数,:);,scanf(%d%d,gy=fgcd(a,b);,gb=flcd(a,b);,printf(%d,%d,的最大公约数为,:%dn,a,b,gy);,printf(%d,%d,的最小公倍数为,:%dn,a,b,gb);,第,6,章 习题,6.,#include,int f(int a,int n),int i,t=0;,for(i=1;i=n;i+),t=t*10+a;,return t;,void main(),int a,n,i,s=0;,printf(,请输入两个整数,a,n:);,scanf(%d%d,for(i=1;i=n;i+),s=s+f(a,i);,printf(,结果为,:%dn,s);,第,6,章 习题,8.,#include,#define N 6,int max(int a),int i,m;,m=a0;,for(i=1;iN;i+),if(mai)m=ai;,return m;,void main(),int i,bN;,printf(,请输入,%d,个整数,:,N);,for(i=0;iN;i+),scanf(%d,printf(,最大数为,:%dn,max(b);,第,6,章 习题,9.,#include,void sort(int a,int n),int i,j,t;,for(i=0;in-1;i+),for(j=0;jaj+1),t=aj;aj=aj+1;aj+1=t;,void main(),int i,n,a100;/,最多,100,个元素,printf(,请输入元素个数,:);,scanf(%d,printf(,请输入,%d,个元素,:,n);,for(i=0;in;i+),scanf(%d,sort(a,n);,printf(,排序结果为,:);,for(i=0;in;i+),printf(%d ,ai);,printf(n);,第,6,章 习题,12.,#include,int fib(int k),int f;,if(k=1)f=0;,else if(k=2)f=1;,else f=fib(k-1)+fib(k-2);,return f;,void main(),int i,n;,printf(,请输入项数,:);,scanf(%d,printf(,前,%d,项,fibonacci,数列为,:,n);,for(i=1;i=n;i+),printf(%d ,fib(i);,printf(n);,第,6,章 习题,第,7,章 部分习题参考答案,一、单项选择题,DBCCC ACBAD CACC D DDCDC CBCAC,注:,1525,小题不做要求,二、填空题,1.2010 5,2.,s=p+3,s=s-2,100,*(s+1),2,3.110,4.abcde a,5.malloc(sizeof(int)*11),不做要求,三、编程题(用指针完成),1.,#include,void swap(int*px,int*py),int t;,t=*px;*px=*py;*py=t;,void main(),int a,b,c;,printf(,请输入三个整数,:);,scanf(%d%d%d,if(ab)swap(,if(ac)swap(,if(bc)swap(,printf(,三个数从大到小为,:%d%d%dn,a,b,c);,第,7,章 习题,2.,#include,void swap(int*px,int*py),int t;,t=*px;*px=*py;*py=t;,void main(),int a10,i;,int*pmax,*pmin;/,两个指针分别指向最大,最小数,printf(,请输入,10,个整数,:);,for(i=0;i10;i+),scanf(%d,pmax=pmin=a;,for(i=1;i10;i+),if(*pmaxai)pmin=,swap(pmax,swap(pmin,printf(,交换后的,10,个数为,:);,for(i=0;i10;i+),printf(%d ,ai);,printf(n);,第,7,章 习题,3.,#include,void main(),char a100,*p=a;,int flag=0;,printf(,请输入一个字符串,:);,gets(a);,while(*p!=0),if(*p=k),flag=1;break;,p+;,if(flag=1)printf(,已找到,!n);,else printf(,没找到,n);,第,7,章 习题,5.,#include,void scat(char*s1,char*s2),char*p1=s1,*p2=s2;,while(*p1!=0)p1+;,while(*p2!=0)*p1=*p2;p1+;p2+;,*p1=0;,void main(),char a80,b40;,printf(,请输入第,1,个字符串,:);gets(a);,printf(,请输入第,2,个字符串,:);gets(b);,scat(a,b);,printf(b,连接到,a,后字符串为,:%sn,a);,第,7,章 习题,6.,#include,#include,void main(),int hw(char*s);,char s80;,printf(,请输入一个字符串,:);gets(s);,if(hw(s)printf(,该字符串是回文,!n);,else printf(,该字符串不是回文,!n);,int hw(char*s),int flag=1;,char*p,*q;,for(p=s,q=s+strlen(s)-1;pq;p+,q-),if(*p!=*q)flag=0;break;,return flag;,第,7,章 习题,9.,#include,#include,int fun(char*s),int len,i,k,n=0;,len=strlen(s);,for(i=0;i(b)?(a):(b),void main(),int x,y,z,m;,printf(,请输入三个整数,:);,scanf(%d%d%d,m=MAX(MAX(x,y),z);,printf(,最大值为,:%dn,m);,第,9,章 习题,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服