专升本C语言各种程序.doc

上传人:b****1 文档编号:232810 上传时间:2022-10-07 格式:DOC 页数:13 大小:38.50KB
下载 相关 举报
专升本C语言各种程序.doc_第1页
第1页 / 共13页
专升本C语言各种程序.doc_第2页
第2页 / 共13页
专升本C语言各种程序.doc_第3页
第3页 / 共13页
专升本C语言各种程序.doc_第4页
第4页 / 共13页
专升本C语言各种程序.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

专升本C语言各种程序.doc

《专升本C语言各种程序.doc》由会员分享,可在线阅读,更多相关《专升本C语言各种程序.doc(13页珍藏版)》请在冰豆网上搜索。

专升本C语言各种程序.doc

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

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

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