专升本C语言各种程序.doc
- 文档编号:232810
- 上传时间:2022-10-07
- 格式:DOC
- 页数:13
- 大小:38.50KB
专升本C语言各种程序.doc
《专升本C语言各种程序.doc》由会员分享,可在线阅读,更多相关《专升本C语言各种程序.doc(13页珍藏版)》请在冰豆网上搜索。
1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:
将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
intfun(intscore[],intm,intbelow[])
{inti,k=0,aver=0;
for(i=0;i aver+=score[i]; aver/=m; for(i=0,i if(score[i] {below[k]=score[i]; k++;} returnk;} 2.请编写函数fun,它的功能是: 求出1到100之内能被7或者11整除,但不能同时北7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数。 voidfun(int*a,int*n) {inti,j=0; for(i=2;i<1000;i++) if((i%7==0||i%11==0))&i%77! =0) a[j++]=i; *n=j; } 3请编写一个函数voidfun(char*tt,intpp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 voidfun(char*tt,intpp[]) {inti; for(i=0;i<26;i++) pp[i]=0; while(*tt){ if(*tt>=’a’&&*tt<=’z’) pp[*tt-97]++; } } 4.编写函数fun,功能是: 根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 s=1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n) floatfun(intn) {inti; floats=1.0,t=1.0; for(i=2;i<=n;i++) {t=t+i; s=s+1/t;} returns;} 5.编写一个函数fun,它的功能是: 根据以下公式求P的值,结果由函数值带回。 m与n为两个正整数,且要求m>n。 p=m! /n! (m-n)! floatfun(intm,intn) {floatp,t=1.0; inti; for(i=1;i<=m;i++) t=t*i;p=t; for(t=1.0,i=1;i<=n;i++) t=t*i; p=p/t; for(t=1.0,i=1;i t=t*i; p=p/t; returnp;} 6.编写函数fun,它的功能是: 利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤 (2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出Root=0.739085。 folatfun() {floatx1=0.0,x0; do {x0=x1; x1=cos(x0);} while(fabs(x0-x1)>=1e-6); returnx1; } 7.请编写一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。 二维数组中的数已在主函数中赋予。 voidfun(inttt[M][N],intpp[N]) {inti,j,min; for(j=0;j {min=tt[0][j]; for(i=0;i {if(tt[i][j] min=tt[i][j];} pp[j]=min;} } 8.请编写一个函数fun(char*s),该函数的功能使把字符串中的内容逆置。 voidfun(char*s) {charch;inti,m,n;i=0; m=n=strlen(s)-1; while(i<(n+1)/2) {ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;} } 9.编写程序,实现矩阵(3行3列)的转置(即行列互换)。 voidfun(intarray[3][3]) {inti,j,temp; for(i=0;i<3;i++) for(j=0;j<3;j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;} } 10.编写函数fun,该函数的功能是: 从字符中删除指定的字符,同一字母的大、小写按不同字符处理。 voidfun(chars[],intc) {inti=0;char*p; p=s; while(*p) {if(*p! =c) {s[i]=*p;i++;} p++; } s[i]='\0'; } 11.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。 请编写函数fun,它的功能是: 找出学生的最高分,由函数值返回。 doublefun(STREC*h) {doublemax; STREC*q=h; max=h->s; do {if(q->s>max) max=q->s; q=q->next;} while(q! =0); returnmax;} 12.请编写函数fun,该函数的功能是: 判断字符串是否为回文? 若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。 回文是指顺读和倒读都是一样的字符串。 intfun(char*str) {inti,n=0,fg=1; char*p=str; while(*p) {j++;p++;} j--; for(i=0;i<=j;i++) {if(str[i]! =str[j]){fg=0;break;} returnfg; } 13.请编写一个函数fun,它的功能是: 将一个字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 longfun(char*p) {longs=0,t; inti=0,n=strlen(p); if(p[0]=='-') i++; for(;i<=n-1;++) {if(p[i]>=’0’&&p[i]<=’9’) s=s*10+p[i]-'0'; } if(p[0]=='-') return-s; else returns;} 14.请编写一个函数fun,它的功能是: 输出一个字符串的长度。 (不得调用C语言提供的求字符串长度的函数)。 Intfun(char*s) {inti=0; While(*s++)i++; ReturnI; } 15.请编写一个函数fun,它的功能是: 将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 voidfun(char*ss) {inti,n; n=strlen(ss); for(i=1;i if(ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } 16.请编写函数fun,其功能是: 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。 voidfun(char*s,chart[]) {inti,j,n; n=strlen(s); for(i=0;i if(i%2==0&s[i]%2==0) {t[j]=s[j]; j++;} t[j]='\0'; } 17..编写一个函数fun,它的功能是: 实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。 voidfun(charp1[],charp2[]) {inti=0,n=0;char*p=p1,*q=p2; while(*p) {p++;n++;} i=n; while(*p) {p1[i]=*q; q++; i++;} p1[i]='\0';} 18.请编写函数fun,该函数的功能是: 统计字符串中单词的个数,作为函数值返回。 一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。 intfun(char*s) {inti,n=0; for(i=1;i {if(s[i]='a'&s[i]<='z'&s[i-1]==' ') n++;} returnn+1;} 19.请编写一个函数fun,它的功能是: 计算并输出给定整数n的所有因子(不包括1与自身)之和。 规定n的值不大于1000。 .intfun(intn) {ints=0,i; for(i=2;i<=n-1;i++) if(n%i==0) s+=i; returns;} 20.请编写一个函数fun,它的功能时: 求Fibonacci数列中大于t的最小的一个数,结果由函数返回。 其中Fibonacci数列F(n)的定义为: F(0)=0,F (1)=1,F(n)=F(n-1)+F(n-2) intfun(intt) {inta=1,b=1,c=0,i; for(i=4;;i++) {if(c {c=a+b; a=b; b=c;} else break;} returnc;} 21.删除子字符串 voidDelete_SubString(char*source,intstart,intnum) { inti,l; l=strlen(source); if(num>l-start+1||num==-1)num=l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 各种 程序