C语言函数习题及答案_第1页
C语言函数习题及答案_第2页
C语言函数习题及答案_第3页
C语言函数习题及答案_第4页
C语言函数习题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、1编写一个函数fun实现求一个字符串中的英文字母的个数,#include stdio.h int fun(char s) int i,n=0; for(i=0;si!=0;i+) if(si=A ,2编写一个函数fun,实现将一个字符串反序存放。例如:在主函数中输入字符串“abcdefg”,在调用fun函数后,则应输出“gfedcba”。,#include #include #define N 81 char fun(char s,int n) int i; char c; for(i=0;i=(n-1)/2;i+) c=si; si=sn-1-i; sn-1-i=c; main() char

2、 s N; int l; printf(input a string:);gets(s); l=strlen(s); fun(s,l); printf(The new string is :);puts(s); ,3编写一个函数fun实现字符串连接功能(不允许使用strcat函数)。,#include stdio.h #include string.h void fun(char s,char t) int i,j; j=strlen(s); for(i=0;ti!=0;i+) sj+=ti; sj=0; main() char s100,t100; gets(s);gets(t); fun(

3、s,t); printf(nThe result is :%sn,s); ,4编写函数fun,其功能是将字符串s中下标为奇数的字符删除,字符串中剩余字符形成的新字符串放在字符数组t中。仅在fun函数体内编写代码即可。,#include stdio.h void fun(char s,char t) int i,j=0; for(i=0;si!=0;i+) if(i%2!=0)tj+=si; tj=0; main() char s100,t100; printf(nPlease enter string s:); scanf(%s,s); fun(s,t); printf(nThe result

4、 is :%sn,t); ,5编写函数fun,将一个字符串中下标从m的开始的全部字符复制到另一个字符数组中。在main函数中输入字符串和m的值,并输出运行结果。仅在fun函数体内编写代码即可。,#include stdio.h void fun(char str1,char str2,int m) int i,j=0; for(i=m;str1i!=0;i+) str2j+=str1i; str2j=0; main() int i,m; char str180,str280; gets(str1);scanf(%d, ,6编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连

5、续n个字符(注意:str0代表字符串的第一个字符)。仅在fun函数体内编写代码即可。,#include stdio.h void fun(char str,int i,int n) int j; for(j=i+n;strj!=0;j+) stri+=strj; stri=0; main() char str80; int i,n; printf(请输入字符串str的值:n); scanf(%s,str); printf(请输入删除位置i和待删字符个数n的值:n); scanf(%d%d,7编写函数,求一组数中最大值出现的位置(如果最大值出现多次,求出第一次出现的下标即可)。,#include

6、 int station(int s,int n) int i,k; k=0; for(i=1;isk) k=i; return(k+1); main() int a100,n,i,t; scanf(%d, ,8编写函数,对一组数按从小到大的顺序排序(分别用选择法、顺序法和冒泡法实现)。,#include stdio.h void sort(int a,int n) int i,j, t; for (i=0;iaj+1) t=aj; aj=aj+1; aj+1=t; void main( ) int array10,i; for (i=0;i10;i+) scanf (%d,9请编写函数fun

7、,实现的功能是:求出能整除x且是偶数的各整数,并按从小到大的顺序依次存放在y所指定的数组中,这些除数的个数通过函数返回。仅在fun函数体内编写代码即可。图12-1是输入40后的运行结果图。,#include stdio.h int fun(int x,int y) int i,j=0; for(i=2;ix;i+) if(x%i=0,10编写函数fun,该函数的功能是求出小于等于x的所有素数放在数组y中,素数的个数由函数返回。仅在fun函数体内编写代码即可。,#include stdio.h int fun(int x,int y) int i,j,k,m=0; for(j=2;j=x;j+)

8、 k=1; for(i=2;i=j-1;i+) if(j%i=0) k=0; if(k)ym+=j; return m; main() int x,i,n; int a1000; printf(请输入一个整数:); scanf(%d,11请编写函数fun,交换一个数组中最大值和最小值的位置,其他元素的位置不变。要求在主函数中输入(或随机生成)一组数,然后在调用fun函数后,输出处理后的数据。,#include stdio.h #include time.h #include stdlib.h fun(int y,int n) int i,kmax=0,kmin=0,t; for(i=1;iyk

9、max) kmax=i; else if(yiykmin)kmin=i; t=ykmax;ykmax=ykmin;ykmin=t; main( ) int i, a10; srand(time(0); for(i=0; i10; i+) ai=rand( )%(11)+5; for(i=0; i10; i+) printf(%5d,ai); printf(n); fun(a,10); for(i=0; i10; i+) printf(%5d,ai); printf(n);,12编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值返回。程序的运行结果为75。仅在fun函数的program和end注释行中间编写代码即可。,#define M 4 #define N 5 #include stdio.h int fun(int aMN) int s=0; int i,j; for(i=0;iM;i+) for(j=0;jN;j+) if(i=0)s=s+aij; else if(i=M-1)s=s+

温馨提示

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

评论

0/150

提交评论