ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.43KB ,
资源ID:5022793      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C和指针部分课后习题代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C和指针部分课后习题代码.docx

1、C和指针部分课后习题代码C和指针部分课后习题代码第四单元部分编程题#include#include#include/*4.14第1题编写一个程序,读入一个值,计算并打印它的平方根ai+1=(ai+(n/ai)/2*/float Mysqrt(float n) float s; float f; if(n0) return false; else f=1; do s=f; f=(s+n/s)/2; while(s!=f); return f; /*第6题请编写一个函数,他从一个字符串中提取一个子字符串。*/int Substr(char *des,char *src,int start,int

2、len) int count=0; while(*src!=0) count+; *src+; if(count=start) int i; for(i=0;ilen;i+) desi=srci; if(srci=0) desi=0; break; desi=0; return strlen(des);void Show(char *str,int len) for(int i=0;ilen;i+) printf(%c,stri); printf(n);/*第7题编写一个函数,从一个字符串中去掉多余的空格。*/void Deblank(char *str,int len) int count=

3、0; int i; for(i=0;i1 & stri+1!= ) for(int k=i;klen;k+) strk-count+2=strk+1; count=0; if(stri= & stri+1!= ) count=0; int main() /*-第1题-*/ printf(%fn,Mysqrt(4); printf(%fn,Mysqrt(16); /*-第6题-*/ char str1=helloworldchina; char str210; printf(%dn,Substr(str2,str1,5,5); printf(%dn,Substr(str2,str1,10,10)

4、; /*-第7题-*/ char str3=hello wor ld c hina; Deblank(str3,strlen(str3); Show(str3,strlen(str3); return 0;第五单元部分编程题#include#include#include/*请编写一个函数unsigned int reverse_bits(unsigned int value)这个函数的返回值是把value的二进制模式从左到右变换一下后的值*/unsigned int reverse_bits(unsigned int value) unsigned int rslt = (value & 0

5、); unsigned int flag = 1; /标志位移次数 while(flag != 0) if(value & 1) = 1) rslt = (rslt 1) + 1; /若为1时rslt加1再向前移1位 else rslt = 1; flag = 1; return rslt;int main() printf(%un,reverse_bits(25); printf(%un,reverse_bits(1); printf(%un,reverse_bits(15); return 0;第七单元部分编程题#include/*第1题厄密多项式*/int HermitePolynomi

6、als(int x,int n) int h; if(n=2) h=2*x*HermitePolynomials(x,n-1)-2*(n-1)*HermitePolynomials(x,n-2); return h;/*第2题编写一个叫gcd的函数,它接受两个整形参数,并返回这两个数的最大公约数*/int Gcd(int a,int b) int h; int r; int temp; if(a0|b0) return 0; if(a0) h=Gcd(b,r); return h;int main() printf(%dn,HermitePolynomials(3,-1); printf(%d

7、n,HermitePolynomials(3,1); printf(%dnn,HermitePolynomials(3,2); printf(%dn,Gcd(24,12); printf(%dn,Gcd(24,-12); printf(%dnn,Gcd(14,24); return 0;第九单元部分编程题#include#include#include#include/*拷贝字符串中前n个字符*/void Mystrncpy(char *desstr,char *stcstr,int n) if(strlen(stcstr)(unsigned)n) for(int i=0;in;i+) des

8、stri=stcstri; else while(*stcstr!=0) *desstr+=*stcstr+; desstr=0; void Show(char *str,int len) for(int i=0;i(unsigned)n) for(int i=0;in;i+) str1j=str2i; j+; str1j=0; else while(*str1!=0) *str1+; while(*str2!=0) *str1+=*str2+; str1=0; return p;/*比较字符串中前n个字符的大小*/int Mystrncmp(char *str1,char *str2,int

9、 n) int count=0; int tmp; if(strlen(str2)(unsigned)n) while(count=(unsigned)n) tmp=*str1-*str2; *str1+; *str2+; count+; else while(tmp=*str1-*str2)=0 & *str1!=0) *str1+; *str2+; return tmp;/*将一个数字转化成一个字符型式*/void Myitoa(char *str,int num,int radix) int i=0; char tmp; int count=0; char index=012345678

10、9ABCDEFGHIJKLMNOPQRSTUVWXYZ; /索引表 unsigned unum; if(num0) /将负数先转化成正数 unum=-num; stri=-; i+; else unum=num; while(unum!=0) stri+=indexunum%radix; /将数字转化成字符 unum/=radix; count+; stri=0; i-; if(str0=-) tmp=str0; for(int k=0;kcount;k+) strk=strk+1; /将数组中的每个字符向前移动移动一位 strcount=tmp; /将负号置于数组末尾 for(int j=0

11、;j=0;i-) if(stri=ch) return str+i; return false;/*编写一个名叫my_strnchr的函数,此函数类似于strchr但它的第3个参数指定ch字符在str字符中第几次出现。*/char *my_strnchr(char *str,int ch,int which) int count=0; for(unsigned int i=0;istrlen(str);i+) if(stri=ch) count+; if(which=count) return str+i; return false;/*编写一个函数,实现函数在第1个参数中进行查找,并返回匹配

12、第2个参数所包含的字符的数量*/int count_chars(char const *str,char const *chars) int count=0; while(*str!=0) for(unsigned int i=0;istrlen(chars);i+) if(*str=charsi) count+; str+; return count;int main() char str150=helloworld; char str250=0; Mystrncpy(str2,str1,5); Show(str2,strlen(str2); Mystrncpy(str2,str1,15);

13、 Show(str2,strlen(str2); char str3=china; printf(%sn,Mystrncat(str1,str3,4); char str4=abcdefg; char str5=acbdef; printf(%dn,Mystrncmp(str4,str5,3); char str632=0; Myitoa(str6,123,16); Show(str6,32); Myitoa(str6,-123,16); Show(str6,32); Myitoa(str6,456789,20); Show(str6,32); Myitoa(str6,-456789,20); Show(str6,32); printf(%sn,my_strrchr(str1,a); printf(%sn,my_strrchr(str1,l); printf(%sn,my_strnchr(str1,l,2); printf(%sn,my_strnchr(str1,l,3); printf(%sn,my_strnchr(str1,l,4); printf(%dn,count_chars(str4,str5); return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1