ImageVerifierCode 换一换
格式:PPT , 页数:26 ,大小:229.50KB ,
资源ID:10289839      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/10289839.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(C语言教学课件:_19-3--789章习题_.ppt)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言教学课件:_19-3--789章习题_.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章指针习题,补充题,1,:输入,3,个字符串,按由小到大的顺序输出。,#include,#include,int main(),char*str1=fotran,*str2=computer,*str3=basic;,char*tmp;,if(strcmp(str1,str2)0),tmp=str1;,str1=str2;,str2=tmp;,if(strcmp(str1,str3)0),tmp=str1;,str1=str3;,str3=tmp;,if(strcmp(str2,str3)0),tmp=

2、str2;,str2=str3;,str3=tmp;,puts(str1);puts(str2);puts(str3);,return 0;,补充题,2,:,输入,10,个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求写三个函数,输入,10,个数(用指针法),进行处理(用指针操作),输出,10,个数(用指针法),#include,enum N=10;,void get(int*a,int n);,void action(int*a,int n);,void put(int*a,int n);,int main(),int aN;,get(a,N);,action(a,N)

3、put(a,N);,return 0;,void get(int*a,int n),printf(,输入数组的值,:n);,int*p=a;,for(;pa+n;p+),scanf(%d,p);,void action(int*a,int n),int*q=a,*m=a,min,max;,for(int i=1;iai),q=a+i;,if(*mai),m=a+i;,min=*a;*a=*q;*q=min;,max=*(a+n-1);*(a+n-1)=*m;*m=max;,void put(int*a,int n),int*t=a;,for(;ta+n;t+),printf(%4d,*t)

4、putchar(n);,补充题,3,:从键盘输入若干(如,10,)个数,写一个函数对这组数从第,begin,(如,3),个数到第,end,(如,7,)个数之间的数进行排序,要求形参用指针,实参用指针或数组,。,#include,enum N=10;,void selectsort(int*a,int begin,int end);,int main(),int aN,*p;,for(p=a;p-aN;p+),scanf(%d,p);,selectsort(a,3,7);,printf(,排序后:,n);,for(p=a;p-aN;p+),printf(%4d,*p);,return 0;,

5、void selectsort(int*a,int begin,int end),int*p,*t,*k,tmp;,for(p=a+begin;pa+end;p+),k=p;,for(t=p+1;t=a+end;t+),if(*t*k)k=t;,tmp=*k;,*k=*p;,*p=tmp;,补充题,4,:有一个包含,n,个字符的字符串,写一个函数将这个字符串中从第,m,个字符开始的全部字符复制成为另一个字符。并在主程序中调用该函数进行测试。,void fun(char*s,char c,int m,int n),char*p=s+m-1;,for(;ps+n;p+),*p=c;,4,:,1),

6、字一个函数,它检查两个字符串是否由同一字符组成,.,#include,enum LEN=20;,int issame(const char*,const char*);,int main(),char str1LEN,str2LEN;,scanf(%s,str1);,scanf(%s,str2);,if(issame(str1,str2)&issame(str2,str1),printf(Yesn);,else,printf(Notn);,return 0;,int issame(const char*s1,const char*s2),int i,j,flag;,for(i=0;s1i!=0

7、i+),flag=0;,for(j=0;s2j!=0;j+),if(s1i=s2j),flag=1;,if(!flag)return 0;,return 1;,4,:,2),写一个函数,它判断一个字符串是否可以通过另一个字符串重排得到。,#include,#include,enum LEN=20;,void selectsort(char*a,int end);,int issame(char*s1,char*s2);,int main(),char str1LEN,str2LEN;,scanf(%s,str1);,scanf(%s,str2);,if(issame(str1,str2),p

8、rintf(Yesn);,else,printf(Notn);,return 0;,int issame(char*s1,char*s2),int len1,len2;,len1=strlen(s1);,len2=strlen(s2);,if(len1!=len2),return 0;,selectsort(s1,len1);,selectsort(s2,len2);,if(strcmp(s1,s2)!=0),return 0;,else,return 1;,void selectsort(char a,int n),int i,j,t,k;,for(i=0;in-1;i+),k=i;,for

9、j=i+1;jak)k=j;,t=ak;,ak=ai;,ai=t;,4,:,1),字一个函数,它检查两个字符串是否由同一字符组成,.2),写一个函数,它判断一个字符串是否可以通过另一个字符串重排得到。,int fun1(char*s1,char*s2),int m=0,n=0,f=1;,int c1M=0,c2M=0;,while(s1m!=0),m+;,while(s2n!=0),n+;,for(int i=0;im;i+),c1s1i=1;,for(int j=0;jn;j+),c2s2j=1;,for(int t=0;tM;t+),if(c1t!=c2t)f=0;,return f;,

10、const int M=128;,int fun2(char*s1,char*s2),int m=0,n=0,f=1;,int c1M=0,c2M=0;,while(s1m!=0),m+;,while(s2n!=0),n+;,if(m!=n)f=0;return f;,for(int i=0;im;i+),c1s1i+;,for(int j=0;jn;j+),c2s2j+;,for(int t=0;tM;t+),if(c1t!=c2t)f=0;,return f;,3,:写一个程序,其命令行包括一个字符参数,s,,运行中由标准输入读入一系列正文,该程序把所有行依次输出,并在那些依次字符串,s,

11、的行前面标一个星号。,int getline(),int c,i=0;,while(i 0),if(strstr(line,argv1)!=NULL),putchar(*);,puts(line);,else,puts(line);,return 0;,5,:修改第,5,章猜数程序,通过命令行参数为它提供数的范围。,int main(int argc,char*argv),int m,unknown,guess;,if(argc=2)m=s2int(argv1);,else,printf(input errorn);,return 0;,if(m=0)return 1;,+m;/*,取模的数应

12、比最大的数大一*,/,do,unknown=rand()%m;,while(1),if(guess=getnumber(m)unknown)printf(Too big!n);,else if(guess 1E-6;m*=2),res0=res;,h=(b-a)/(2*m);,for(res=fp(a)+fp(b),i=1;i2*m;i+=2),res+=4*fp(a+i*h);,for(i=2;i2*m;i+=2),res+=2*fp(a+i*h);,res=res*h/3;,dif=res-res0;,return res;,13,:写程序输入并保存至多,100,个长度不超过,80,个字符

13、的字符行。读完所有输入后,先输出长度不超过,40,个字符的行,再输出其它行。考虑用两种方式实现:,1,)两维字符数组,int getline(),int c,i=0;,while(i MAXLEN-2&,(c=getchar()!=EOF&c!=n),linei=c;,+i;,/*,if(c=n),linei=c;+i;*/,linei=0;,return i;,#include,#include,int getline();,char line80;,char mline10080;,int main(),int i,n,row=0;,while(n=getline()=80&n!=0&ro

14、w100),strcpy(*(mline+row),line);,row+;,for(i=0;irow;i+),puts(*(mline+i);,return 0;,13,:,2,)用字符指针数组,将字符行保存在动态分配的存储块里。,int getline(),int c,i=0;,while(i MAXLEN-2&,(c=getchar()!=EOF&c!=n),linei=c;,+i;,/*,if(c=n),linei=c;+i;*/,linei=0;,return i;,#include,#include,#include,int getline();,char line80;,char

15、mline100;,int main(),int i,n,row=0;,char(*p)80;,p=(char(*)80)malloc(100*80);,for(i=0;i100;i+,p+),mlinei=(char*)p;,while(n=getline()=80&n!=0&row100),strcpy(mlinerow,line);,row+;,for(i=0;irow;i+),puts(mlinei);,return 0;,17,:实现一个一元多项式计算系统。多项式的项数和系数保存在数组中,数组通过动态内存分配创建。,int main(),int*p,*q,n;,double x,v

16、alue;,printf(Input xiangshi:n);,scanf(%d,p=(int*)malloc(n+2)*sizeof(int);,if(p=NULL),return 0;,*p=n;,printf(Input xishi:n);,for(q=p+1;q=0;i-),sum=sum*x+ai;,return sum;,double poly2(int*p,int n,double x),int*pn=p+n;,double sum=0;,for(;pn=p;pn-),sum=sum*x+*pn;,return sum;,第八章文件及第九章结构习题答案,2.,写一个程序,其命令行

17、有三个参数,将前两个文件的内容联接起来写入第三个文件。,#include,#include,int main(int argc,char*argv),FILE*ifp1,*ifp2,*ofp;,char*line;,line=(char*)malloc(100*sizeof(char);,if(argc=3),printf(input error!n);,exit(0);,if(ifp1=fopen(argv1,r)=NULL|(ifp2=fopen(argv2,r)=NULL,|(ofp=fopen(argv3,w)=NULL),printf(cant open file.n);,exit(

18、0);,while(!feof(ifp1),if(fgets(line,100,ifp1)!=NULL),fputs(line,ofp);,fprintf(ofp,n);,while(!feof(ifp2),if(fgets(line,100,ifp2)!=NULL),fputs(line,ofp);,fclose(ifp1);,fclose(ifp2);,fclose(ofp);,return 0;,2.,写一个程序,其命令行有三个参数,将前两个文件的内容联接起来写入第三个文件。,#include,#include,int main(int argc,char*argv),FILE*ifp1

19、ifp2,*ofp;,char*line;,line=(char*)malloc(100*sizeof(char);,if(argc=3),printf(input error!n);,exit(0);,if(ifp1=fopen(argv1,r)=NULL|(ifp2=fopen(argv2,r)=NULL,|(ofp=fopen(argv3,w)=NULL),printf(cant open file.n);,exit(0);,while(!feof(ifp1),if(fgets(line,100,ifp1)!=NULL),fputs(line,ofp);,fprintf(ofp,n)

20、while(!feof(ifp2),if(fgets(line,100,ifp2)!=NULL),fputs(line,ofp);,fclose(ifp1);,fclose(ifp2);,fclose(ofp);,return 0;,补充题,1.,调试书中,P279,页,8.4.1,求文件中数据的平均值的程序。假设文件中的数据形式:,23.518.799.021.873.6,文件名为:,data.txt,从命令行参数获取文件名,#include,double nextentry(FILE*fp);,int main(int argc,char*argv),double total=0.0,

21、x;,int count=0;,FILE*ifp;,if(argc=1)/*,缺参数,产生错误信息*,/,printf(Missing file name.Stop!n);,return 1;,if(ifp=fopen(argv1,r)=NULL),printf(Cant open:%s.Stop!n,argv1);,return 2;,while(x=nextentry(ifp)!=0.0),count+;,total+=x;,printf(Average:%fn,total/count);,fclose(ifp);,return 0;,double nextentry(FILE*fp),d

22、ouble num;,int n=fscanf(fp,%lf,return n=EOF?0.0:num;,补充题,2,:统计,C,程序里的关键字,完成实现相关程序,,C,程序从文件读,int main(),int n;,char wordM;,KEYC*p;,FILE*fp;,fp=fopen(f:/test.cpp,r);,if(fp=NULL),printf(cant open filen);,return 0;,while(getident(fp,M,word)!=-1),for(p=keywords,n=0;n key)=0),p-count+;,break;,for(p=keywor

23、ds,n=0;n key,p-count);,return 0;,#include,#include,int getident(FILE*fp,int limit,char word);,enum M=20;,typedef struct,char*key;,int count;,KEYC;,KEYC keywords32=,auto,0,break,0,case,0,char,0,const,0,continue,0,default,0,do,0,double,0,else,0,enum,0,extern,0,float,0,for,0,goto,0,if,0,int,0,long,0,re

24、gister,0,return,0,short,0,signed,0,sizeof,0,static,0,struct,0,switch,0,typedef,0,union,0,unsigned,0,void,0,volatile,0,while,0,;,int getident(FILE*fp,int limit,char word),int c,i=0;,while(ilimit-1&(c=fgetc(fp)!=EOF&c!=n&c!=&c!=t&,c!=;&c!=(&c!=)&c!=&c!=&c!=&c!=,),wordi=c;+i;,wordi=0;,if(c=EOF)return-1

25、else return i;,设有学生成绩处理系统,用链表表示一个班级中所有学生的成绩,每个链表点中包括学生姓名、程序设计和数学课的成绩,设链表结构如下:,struct LinkNode,char Name20;,double Programming;,double Mathematics;,struct LinkNode*pNext;,;,请设计一个函数,该函数能输出,Programming,的值处于,Min,Max,之中的学生的姓名和二门课的成绩,函数原型要求如下:,void RangeQuery(struct LinkNode*pHead,,,double Min,double Ma

26、x);,其中,pHead,为链表的第一个结点指针,Min,为成绩下界,,Max,为成绩上界。,07,年考题,链表实现,#include,#include,#include,#include,enum MAXNUM=3;,typedef struct node NODE,*LINK;,struct node/,定义链接结构,char name20;,double programming;,double math;,LINK next;,;,LINK addwordL(LINK list,char name,double prog,double mathe);,void printlink(LIN

27、K l,double min,double max);,LINK list=NULL;,int main(),double prog=0,mathe=0;,int i=0;,do,scanf(%s%lf%lf,name,list=addwordL(list,name,prog,mathe);,i+;,while(iname,name);,p-programming=prog;,p-math=mathe;,p-next=NULL;,return p;,LINK addwordL(LINK list,char name,double prog,double mathe),/,将新创建的结点加下链表

28、中,LINK p;,if(list=NULL)return mknode(name,prog,mathe);,for(p=list;p=p-next),if(strcmp(p-name,name)=0),printf(has been created noden);,break;,if(p-next=NULL),p-next=mknode(name,prog,mathe);,break;,return list;,void printlink(LINK p,double min,double max),/,遍历打印链表结点,for(;p!=NULL;p=p-next),if(p-programmingmin&p-programming name,p-programming,p-math);,Q&A!,

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服