四川省2级c语言习题以及答案讲解.ppt_第1页
四川省2级c语言习题以及答案讲解.ppt_第2页
四川省2级c语言习题以及答案讲解.ppt_第3页
四川省2级c语言习题以及答案讲解.ppt_第4页
四川省2级c语言习题以及答案讲解.ppt_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上机练习题,1.编写一个函数找出(100999)之间水仙花的个数,并输出所有是水仙花数的数。153111555333,2.编写一个函数找出0到1000之间所有回文数。如:121 ,11211 是回文数。,3.编写一个函数判断输入的一个字符串是否是回文字符串。如:aabaa ,abba 是回文字符串。,4.编写一个函数求一个字符串的长度(字符个数)不能调用库函数strlen。,5.编写一个函数实现对字符数组a【20】内的字符按升序排序。,例,例,例,例,例,6.编写一个函数实现在字符串str1中查找指定字符,如果找到则在str1中把它删除,输出str1。Str1和要删除的字符从键盘输入。,7.编

2、写一个函数实现将字符串str2合并到字符串str1中,并输出str1。Str1,str2从键盘输入。,要求:1.以上各题均编写成函数,在main函数中调用。 2.数据输入在main函数中输入。,例,例,水仙花数:,#include Int sxh(int n) int gw,sw,bw; gw=n%10; sw=n/10%10; bw=n/100; if (n=(gw*gw*gw+sw*sw*sw+bw*bw*bw) return 1; else return 0; main() int i,t,num=0; for(i=100;i1000;i+) t=sxh(i); if (t) num+;

3、 printf(%d ,i); printf(“ total=%d”,num); ,自定义函数,函数体,主函数,分解一个3位数:取出个位十位百位,函数返回值,回文数字:,#include Int hws(int n) int gw,sw,bw; gw=n%10; sw=n/10%10; bw=n/100; if (n100) if(gw= =sw) return 1; else return 0; else if(gw=bw) return 1; else return 0; main() int i,t,num=0; for(i=10;i1000;i+) t=hws(i); if (t=1)

4、 num+;printf(%d ,i); printf(n %d,num);,分解一个3位数:取出个位十位百位,函数返回值,自定义函数,函数体,返回,回文字符串,#include #include int hwc(char str ) int i,j,len; len=strlen(str); j=len-1; for(i=0;i=j) return 1; else return 0; main() char str50; int i; printf(ninput a string:n); gets(str); i=hwc(str); if( i=1) printf(yesn); else p

5、rintf(non); ,自定义函数,函数体,判断首尾是否相等,函数返回值,返回,字符串长度,#include #include int strl(char *str) int i=0; while(*str!=0) str+; i+; return i; main() char *p,str50; int len; p=str; puts(input a stringn); gets(p); len=strl(p); printf(%d ,len); ,自定义函数,函数体,求长度,找字符串的0,键盘输入字符串,返回,字符串排序,#include #include sort(char str)

6、 int i,j; char ch; for(i=0;stri!=0;i+) for(j=i+1;strj!=0;j+) if(stristrj) ch=stri;stri=strj;strj=ch; return; main() char str50; printf(input a stringn); gets(str); sort(str); puts(str); ,自定义函数,函数体,冒泡法排序,从键盘读入字符串,返回,删除字符,#include #include find(char str,char ch) int i,j,temp; i=0; while(stri!=0) if(ch

7、=stri) for(j=i;strj!=0;j+) strj=strj+1; else i+; strj=0; return; main() char ch,str50; printf(input a stringn); gets(str); printf(input a charn); ch=getchar(); find(str,ch); puts(str); ,自定义函数,函数体,用后面的字符覆盖前面的字符达到删除效果。,关键注意字符串结束标志0,从键盘读入字符串,从键盘读入单个字符,返回,合并字符串,#include #include heb(char str1,char str2) int i,j; i=0;j=0; while(str1i+!=0); i-; while(str2j!=0) str1i+=str2j+; str1i=0; return; main() char ch,str1100,str250; pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论