321c语音解析.docx

上传人:b****7 文档编号:9167161 上传时间:2023-02-03 格式:DOCX 页数:27 大小:34.03KB
下载 相关 举报
321c语音解析.docx_第1页
第1页 / 共27页
321c语音解析.docx_第2页
第2页 / 共27页
321c语音解析.docx_第3页
第3页 / 共27页
321c语音解析.docx_第4页
第4页 / 共27页
321c语音解析.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

321c语音解析.docx

《321c语音解析.docx》由会员分享,可在线阅读,更多相关《321c语音解析.docx(27页珍藏版)》请在冰豆网上搜索。

321c语音解析.docx

321c语音解析

类型一:

与*号有关的操作

请编写函数fun,它的功能是:

将字符串中的前导*号全部删除,中间和尾部的*号不删除。

删除前导*号

char*p=a;

while(*p=='*')p++;

for(;*p!

='\0';p++,a++)*a=*p;*a='\0';

[N]t[i][j]t[j][i]

#defineFU(m,n)((m)/(n))

return(value);

请编写函数fun,它的功能是:

除了尾部的*号之外,将字符串中其他*号全部删除。

形参p已指向字符串中最后的一个字母。

除尾部*号,其余*删除

char*t=a;

for(;t<=p;t++)if(*t!

='*')*(a++)=*t;

for(;*t!

='\0';t++)*(a++)=*t;

*a='\0';

t[][N]i=0;i

intfun(inta[],intm)

elseif(m>a[mid])

请编写函数fun,它的功能是:

除了字符串前导和尾部的*号之外,将串中其他*号全部删除。

只删除中间*号

inti=0;char*q=a;

while(q

while(q

='*'){a[i]=*q;i++;}q++;}

while(*q){a[i]=*q;i++;q++;}

a[i]='\0';

sum=0t[i][i]1

doubler;

while(fabs(n-m)>0.001)

请编写函数fun,它的功能是:

删除字符串中所有的*号。

删除串中所有*号

inti,j=0;for(i=0;a[i]!

='\0';i++)

if(a[i]!

='*')a[j++]=a[i];

a[j]='\0';

1j++j

t=a;a=b;b=t;

return(b);

请编写函数fun,它的功能是:

将字符串尾部的*号全部删除,前面和中间的*号不删除。

删除串尾*号

while(*a!

='\0')a++;a--;

while(*a=='*')a--;*(a+1)='\0';

Ni-1

a2=k/10;

returni;

请编写函数fun,它的功能是:

除了字符串前导的*号之外,将串中其他*号全部删除。

除前导*外删除其他*

inti=0;char*p=a;

while(*p&&*p=='*'){a[i]=*p;i++;p++;}

while(*p)

{if(*p!

=’*’){a[i]=*p;i++;}p++;}

a[i]='\0';

Nkss[i]

intk=0;

while(*p||*q)

请编写函数fun,它的功能是:

只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。

删除前导和尾部*

inti,j=0;for(i=h;i

a[j++]=a[i];a[j]=‘\0’;

 

Nsubstr0

fun(intx,inty,intz)

returnj;

请编写函数fun,它的功能是:

将字符串中的前导*号全部移到字符串的尾部。

串前*移至串尾

while(*p){*q=*p;p++;q++;}

ab.namescore[i]

 

s[j++]=s[i];

s[j]=’\0’;

请编写函数fun,它的功能是:

使字符串的前导*号不得多于n个

前导*不多于n个

inti=0,k=0;char*p,*t;p=t=a;

while(*t=='*'){k++;t++;}

if(k>n){while(*p)

{a[i]=*(p+k-n);i++;p++;}

a[i]='\0';}

[M]N‘\0’

t=1.0;

return(2*s);

请编写函数fun,它的功能是:

使字符串中尾部的*号不得多于n个

串尾部*号不多于n个

inti=0,k=0;char*p,*t;

p=t=a;while(*t)t++;t--;

while(*t==’*’){k++;t--;}

if(k>n)

{while(*p&&p

a[i]='\0';}

a[i]%2a[j]j

 

intfun(intn)

if(n==1)

编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址

(用****作为结束输入的标志)。

char*p=a[0];inti;for(i=1;i

if(strlen(a[i])>strlen(p))

p=a[i];*max=p;

[N]ii+1

aa[i]=m%k;

printf("%d",aa[i-1]);

将一个数字字符串换成与其面值相同的长整形整数可调用strlen函数求字符串长度例如2345210,2345210

{inti,n;longt=0;

n=strlen(s);

for(i=0;i

{t=t*10;t=t+(s[i]-‘0’);}

returnt;

}

0ti+t

b[i]=0;

b[a[i]-‘a’]++;

if(b[max]

类型二:

套用公式计算型

编写函数fun,函数的功能是:

根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

s=1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n),

若n的值为11时,函数的值为1.833333。

inti,sum=1;floats=1;

for(i=2;i<=n;i++){sum=sum+i;s=s+1.0/sum;}returns;

'\0'0c

doublesum=0.0;

sum/=c;

编写函数fun,它的功能是:

利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。

Xn+1=cos(Xn)

cos(x)-x=0的一个实根0.739085

{doublex0,x1;

x1=0.0;do

{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);returnx1;}

i++mm

 

while((2<=high)&&(n<10))

yes=0;break;

请编写函数fun,它的功能是计算:

s=(ln

(1)+ln

(2)+1n(3)+…+ln(m))0.5s作为函数值返回。

若m的值为20,则fun函数值为6.506583。

{inti;doubles=0.0;

for(i=1;i<=m;i++)

s=s+log(i);

returnsqrt(s);

}

0j--j

 

doublef(doublex)

returns;

请编写函数fun,其功能是:

计算并输出下列多项式值:

Sn=1+1/1!

+1/2!

+1/3!

+1/4!

+…+1/n!

若主函数从键盘给n输入15,则输出为s=2.718282。

doublet,sn=1.0;inti,j;

for(i=1;i

{t=1.0;for(j=1;j<=i;j++)t*=j;sn+=1.0/t;}

returnsn;

1-1t

 

for(i=1;i<=3;i++)

if((k>=0&&k<=6)&&(i!

=0&&j!

=0)||k==0)

请编写函数fun,其功能是:

计算并输出

S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……+

(1+2^0.5+3^0.5+……+n^0.5)

输入20后,则输出为s=534.188884。

inti;doubles=0.0,s1=0.0;

for(i=1;i<=n;i++)

{s1=s1+pow(i,0.5);s=s+s1;}returns;

aab

c=c+32;

c=c+5;

请编写函数fun,其功能是:

计算并输出下列多项式值:

Sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n)

若输入8后,则输出为S=0.662872。

inti;doubles=0.0;for(i=1;i<=n;i++)

s=s+(1.0/(2*i-1)-1.0/(2*i));returns;

j=2ij

 

sum=j=0;

if(sum%4==2)

编写函数fun,它的功能是:

计算并输出下列级数和:

S=1/1*2+1/2*3+...+1/n(n+1)

n=10时,函数值为0.909091。

inti;doubles=0.0; 

for(i=1;i<=n;i++)s=s+1.0/(i*(i+1));

returns;

*s1k[n]

 

doublefun(intk)

returns;

请编写函数fun,其功能是:

计算并输出下列多项式值:

s=1+1/(1*2)+1/(1*2*3)+..1/(1*2*3...*50)

输入50后,则输出为S=1.718282。

{doublesum=0,tmp=1;

inti;

for(i=1;i<=n;i++)

{tmp=tmp*i;

sum+=1.0/tmp;

}returnsum;}

n%10breakbreak

if(t==0)

*zero=count;

请编写函数fun,其功能是:

计算并输出当x<0.97时下列多项式的值,直到|Sn-S(n-1)|<0.000001为止。

Sn=1+0.5x+0.5(0.5-1)/2!

x

(2)+...+0.5(0.5-1)(0.5-2)

.....(0.5-n+1)/n!

x(n)

输入0.21后,则输出为s=1.100000。

doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;intn=1;

do{s0=s1;sum+=s0;t*=n;p*=(0.5-n+1)*x;

s1=p/t;n++;}while(fabs(s1-s0)>1e-6);

returnsum;

xnfabs(t)

for(i=1;i<=y;i++)

t=t%1000;

编写函数fun,它的功能是:

根据以下公式求P的值,结果由函数值带回。

m与n为两个正整数且要求m>n。

p=m!

/n!

(m-n)!

m=12,n=8,运行结果为495.000000。

{floatp,q=1.0;inti;

for(i=1;i<=m;i++)q*=i;

p=q;for(i=1,q=1.0;i<=n;i++)

q*=i;p/=q;for(i=1,q=1.0;i<=m-n;i++)

q*=i;p/=q;retrunp;}

*ss++n

{intj,c=0;floatxa=0.0;

if(x[j]>=xa)

请编写一个函数fun,它的功能是:

根据以下公式求π的值X/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3

×4/3×5×7×9+...+1×2×3×...×n/3×5×7×(2n+1)

求π的值

{doubles=1.0;s1=1.0;

intn=1;

while(s1>=eps)

{s1=s1*n/(2*n+1);s=s+s1;n++;}return2*s;}

 

0n(t*t)

 

for(i=0;str[i];i++)

if(substr[k+1]=='\0')

请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

S=1+x+

+

+……+

当n=10,x=0.3时,函数值为1.349859

{inti;doubles=1.0,s1=1.0;

for(i=1;i<=n;i++){s1=s1*i;s=s+pow(x,i)/s1;}returns;}

 

ips[j]tp

 

doublefun(intn)

returnsum;

类型三:

调整一个数的个、十、百、千位

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。

例如,当a=45,b=12,调用该函数后

c=4152。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10

STYPEFILEfp

for(i=0;i

t[2*sl]=0;

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12,调用该函数后

c=1524。

倒过来

*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;

(1)structstudent

(2)a.name(3)a.score[i]

if(p==n)return-1;

a[i]=a[i+1];

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。

例如,当a=45,b=12,调用该函数后

c=2514。

倒过来

*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;

fpfclose(fp)fname

for(i=j+1;i

p=i;

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。

例如,当a=45,b=12,调用该函数后

c=5142。

*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;

*nnexthead

a=NULLif(*r==*p)

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。

例如,当a=45,b=12,调用该函数后

c=5241。

*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);

kN-1temp

voidfun(inta[][M],intm)

a[j][k]=(k+1)*(j+1);

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。

例如,当a=45,b=12,调用该函数后

c=2415。

倒过来

*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;

structstudenta->score[i]a

 

char*fun(char(*sq)[M])

returnsp;

请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12,调用该函数后

c=1425。

倒过来

*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;

0xt++

inti,sl;

t[i]=s[sl-i-1];

87.请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例如,当a=45,b=12,调用该函数后

c=4251。

倒过来

*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);

1si*10

intfun(intn,intxx[][M])

printf("%d",xx[i][j]);

类型四:

与下标或ASCII码有关

.请编写一个函数fun,它的功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

下标奇数位置子母改大写

inti;

for(i=0;ss[i]!

='\0';i++)

if(i%2==1&&ss[i]>='a'&&ss[i]<='z')

ss[i]=ss[i]-32;

kNa[k][i];

for(i=strlen(t)-1;i;i--)

if(t[j]>t[j+1])

请编写—个函数voidfun(char*ss),其功能是:

将字符串ss中所有下标为偶数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

下标偶数位置子母改大写

char*p=ss;inti=0;while(*p){

if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;

p++;i++;}

returnss;

NULLnhead,ch

for(i=0,t=0;p[i];i++)

c[t]='\0';

请编写函数fun,其功能是:

将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

下标为偶数字符删除

inti,j=0,k=strlen(s);

for(i=1;i

t[j]='\0';

datanexthead

 

while(*r)

*a=*r;a++;r++;

编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。

除首尾外其余ASCII码降序

charch;inti,j;

for(i=1;i<6;i++)

for(j=i+1;j<6;j++)

{if(*(s+i)<(*(s+j))

{ch=*s(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}

ss[i]n+j1

if(*p=='')

*(p-1)=toupper(*(p-1));

请编写函数fun,其功能是:

将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

ASCII码值为偶数删除

int i=0 ;

for(;*s!

='\0';s++)if(*s%2==1)t[i++]=*s;

t[i]='\0';

STUstd[i].numstd[i]

if(*r==*p){r++;p++;}

if(*r=='\0')

请编写函数fun,其功能是:

将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

ASCII值为奇数删除

inti,j=0,n;n=strlen(s);

for(i=0;i

t[j]='\0';

s[i]k0

while(*w)

if(*r==*p)

请编写函数fun,其功能是:

将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除

除下标偶数同时ASCII码值偶数之外其余全部删除

inti,j=0;

for(i=0;s[i]!

='\0';i++)

if(i%2==0&&s[i]%2==0)t[j++]=s[i];

t[j]='\0';

(1)“r”

(2)fs(3)ft

if(d%2==0)s/=10

请编写函数fun,其功能是:

将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除

除下标奇数同时ASCII码也为奇数外其余字符删除

inti,j=0,n;n=strlen(s);

for(i=0;i

if(i%2!

=0&&s[i]%2!

=0){t[j]=s[i];j++;}

t[j]='\0';

0i++2.0*i

voidfun(char*s,char*t)

t[2*d]='\0';

请编写函数fun,其功能是:

将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。

将下标为偶数同时ASCII码为奇数删除

inti,j=0,n=strlen(s);

for(i=0;i

if(i%2==0&&s[i]%2!

=0);else{t[j]=s[i];j++;}

t[j]='\0';

jkp;

while(i

if(*a)

查找x在所指数组中下标的位置作为函数值返回,若x不存在,则返回-1,

{inti=0;while

(s[i]!

=x&&i

(1)i%5

(2)\n(3)a[i]

returnt;t[i]=x[i];

x[i+1]=findmid(a,b,c)

 

类型五:

数组和矩阵操作

请编写函数fun,该函数的功能是:

移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

下标0-p移到数组最后

{intx,j,ch;

for(x=0;x<=p;x++)

{ch=w[0];for(j=1;j

{w[j-1]=w[j]}

}}

p->nextqp->next

while(*s)或while(*s!

=’10’)

s++;

请编写函数fun,该函数的功能是:

删去一维数组中所有相同的数,使之只剩一个。

删除一维数组相同的数

inti,j=1;

for(i=1;i

if(a[j-1]!

=a[i])a[j++]=a[i];

returnj;

FILE*fclose(fp)fp

t=calloc(m,sizeof(STU));

t[k]=b[j];

请编写一个函数fun,它的功能是:

找出一维整型数

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

当前位置:首页 > 高等教育 > 农学

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

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