专升本C语言各种程序Word格式文档下载.doc
《专升本C语言各种程序Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《专升本C语言各种程序Word格式文档下载.doc(13页珍藏版)》请在冰豆网上搜索。
3请编写一个函数voidfun(char*tt,intpp[]),统计在tt字符中"
a"
到"
z"
26各字母各自出现的次数,并依次放在pp所指的数组中。
voidfun(char*tt,intpp[])
{inti;
for(i=0;
26;
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)
floats=1.0,t=1.0;
for(i=2;
=n;
{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;
=m;
t=t*i;
p=t;
for(t=1.0,i=1;
p=p/t;
for(t=1.0,i=1;
m-n;
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<
N;
j++)
{min=tt[0][j];
for(i=0;
M;
{if(tt[i][j]<
min)
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;
3;
for(j=0;
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;
{if(q->
s>
max)
max=q->
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;
=j;
{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(;
=n-1;
++)
{if(p[i]>
=’0’&
p[i]<
=’9’)
s=s*10+p[i]-'
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;
n;
i+=2;
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;
if(i%2==0&
s[i]%2==0)
{t[j]=s[j];
j++;
t[j]='
17..编写一个函数fun,它的功能是:
实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
voidfun(charp1[],charp2[])
{inti=0,n=0;
char*p=p1,*q=p2;
while(*p)
{p++;
n++;
i=n;
{p1[i]=*q;
q++;
i++;
p1[i]='
18.请编写函数fun,该函数的功能是:
统计字符串中单词的个数,作为函数值返回。
一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。
intfun(char*s)
{inti,n=0;
for(i=1;
i<
strlen(s);
{if(s[i]='
s[i]<
s[i-1]=='
'
n++;
returnn+1;
19.请编写一个函数fun,它的功能是:
计算并输出给定整数n的所有因子(不包括1与自身)之和。
规定n的值不大于1000。
.intfun(intn)
{ints=0,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;
{if(c<
t)
{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