版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1:第1題m個(gè)人的成績存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的
功能是:將低于平均分的人作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放
在below所指定的函數(shù)中。
答案:
intfun(intscore[],intm,intbelow[])
inti,k=0,aver=0;
for(i=0;i<m;i++)
aver+=score[i];
aver/=m;
for(i=0;i<m;i++)
if(score[i]<aver)
I
below[k]=score[i];
k++;
)
returnk;
)
2:第2題請(qǐng)編寫函數(shù)fun,它的功能是:求出1到100之內(nèi)能被7或者
11整除,但不能同時(shí)北7和11整除的所有正數(shù),并將他們放在a所指
的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。
答案:
voidfun(int*a,int*n)
inti,j=0;
for(i=l;i<100;i++)
if((i%7==0||i%ll==0)&&i%77!=0)
a[j++]=i;
*n=j;
)
3:第3題請(qǐng)編寫函數(shù)voidfun(intx,intpp[],int*n),它的功能
是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在
PP所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過形參n返回。
答案:
voidfun(intx,intpp[],int*n)
inti=l,j=0,k=0,*t=pp;
for(i=0;i<=x;i++)
if(i%2!=0)
J
t[j]=i;
J++;
for(i=0;i<j;i++)
if(x%t[i]==O)
pp[k]=t[i];
k++;
)
*n=k;
)
4:第4題請(qǐng)編寫一個(gè)函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt
字符中〃a〃到“z〃26各字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)
組中。
答案:
voidfun(char*tt,intpp口)
{
inti;
for(i=0;i<26;i++)
Pp[i]=0;
while(*tt)
(
switch(*tt)
{
case'a':pp[0]++;break;
case'b':pp[l]++;break;
case<c,:pp[2]++;break;
cased:pp[3]++;break;
case<e,:pp[4]++;break;
case'f,:pp[5]++;break;
case'g,:pp[6]++;break;
case1,:pp[7]++;break;
case,i':pp[8]++;break;
case'j,:pp[9]++;break;
case*,:pp[10]++;break;
caseT:pp[11]++;break;
case,m,:pp[12]++;break;
case<n,:pp[12]++;break;
case<o,:pp[14]++;break;
case'P,:pp[15]++;break;
case'q,:pp[16]++;break;
case<r,:pp[17]++;break;
case<s,:pp[18]++;break;
case氣,:pp[19]++;break;
case,u,:pp[20]++;break;
case'v,:pp[21]++;break;
case'w,:pp[22]++;break;
case'x':pp[23]++;break;
case,y':pp[24]++;break;
case'z':pp[25]++;break;
)
tt++;
)
)
5:第5題請(qǐng)編寫一個(gè)函數(shù)voidfun(intm,intk,intxx[]),該函
數(shù)的功能是:將大于整數(shù)m且緊靠m的k各素?cái)?shù)存入xx所指的數(shù)組
中。
答案:
voidfun(intm,intk,intxx[])
{
intg=0,i,j,flag=l;
for(i=m+l;iVm*m;i++)
{
for(j-0;j<i;j++)
(
if(i%j!=0)
flag=l;
else
flag=0;
break;
)
)
if(flag==l&&j>=i)
{
if(k>=0)
{
xx[g++]=i;
k一;
)
else
break;
)
)
)
6:第6題請(qǐng)編寫一個(gè)函數(shù)voidfun(chara[],chart],intn),其功
能是:刪除以各字符串中指定下標(biāo)的字符。其中,a指向原字符串,
刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。
答案:
voidfun(chara[],charb[],intn)
intI,j=0;
for(i=0;i<LEN;i++)
if(i!=n)
{
b[j]=a[i];
j++;
)
b[j]='\0';
)
7:第7題請(qǐng)編寫一"1、函數(shù)intfun(int*s,intt,int*k),用來求
除數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的儲(chǔ)存單元中。
答案:
voidfun(int*s,intt,int*k)
{
intI,max;
max=s[0];
for(i=0;i<t;i++)
51:第51題請(qǐng)編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的
非素?cái)?shù)存入xx所指的數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過k傳回。
答案:
voidfun(intm,int*k,intxx[])
{inti,j;
intt=0;
for(i=2;i<m;i++)
{j=2;
while(j<i)
{if(i%j==O)
{xx[t]=i;
t++;
break;}
j++;}
*k=t;}}
52:第52題編寫一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連
接(不使用庫函數(shù)strcat),即把p2所指的字符串連接到pl所指的字
符串后。
答案:
voidfun(charpl[],charp2[])
{inti=0,n=0;
char*p=pl,*q=p2;
while(*p)
{p++;
n++;}
i=n;
while(*p)
{pl=*q;
q++;
i++;)
pl=<\o,;)
53:第53題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:實(shí)現(xiàn)b=a+a,即把矩
陣a加上a的轉(zhuǎn)置,存放在矩陣b中。計(jì)算結(jié)果在main函數(shù)中輸出。
答案:
voidfun(inta[3][3],intb[3][3])
{inti,j,at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at[j]=a[j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j]+at[j];}
54:第54題學(xué)生的記錄由學(xué)號(hào)和成績組稱個(gè),n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把低
于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通
過形參n傳回,平均分通過函數(shù)值返回。
答案:
doublefun(strec*a,strec*b,int*n)
{doubleaver=0.0;
inti,j=0;
*n=0;
for(i=0;i<n;i++)
aver+=a.s;
aver/=n;
for(i=0;i<n;i++)
if(a.s<aver)
{b[j]=a;
(*n)++;
j++;}
returnaver;}
55:第55題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:將m行n列的二維
數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的
個(gè)數(shù)存放在形參n所指的儲(chǔ)存單元中。
答案:
voidfun(int(*s)[10],int*b,int*n,intmm,intnn)
{inti,j;
for(i=0;i<mm;i++)
for(j=0;j<nn;j++)
{b[*n]=*(*(s+i)+j);
*n=*n+l;}}
56:第56題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:除了尾部的*號(hào)之外,將字母串中其他*號(hào)全部刪除。形
參P已指向字符串中最后的一個(gè)字母。不使用C的字符串函數(shù)。
答案:
voidfun(char*a,char*p)
{inti=0;
char*p=a;
while(q<=p)
{if(*q!=,*')
{a=*q;
i++;}
q++;}
while(*q)
{a=*q;
i++;
q++;}
a='\0';}
57:第57題學(xué)生的記錄是由學(xué)號(hào)和成績組成,n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把指
定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人
數(shù)由函數(shù)值返回。
答案:
intfun(strec*a,strec*b,int1,inth)
{inti,j=0;
for(i=0;i<n;i++)
if(a.s>=l&a.s<=h)
{b[j]=a;
j++;)
returnj;}
58:第58題編寫函數(shù)藏服那,它的功能是:求n以內(nèi)(不包括n)同
時(shí)能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。
答案:
doublefun(intn)
{doubles=0.0;
inti;
for(i=l;i<n;i++)
if(i%3==0&i%7==0)
s=s+i;
s=sqrt(s);
returns;}
59:第59題請(qǐng)別寫函數(shù)fun,該函數(shù)的功能是:將放在字符串?dāng)?shù)組
中的m個(gè)字符串(每串的長度不超過n),按順序合并組成一個(gè)新的字
符串。
答案:
voidfun(chara[m][n],char*b)
{inti,j,k=0;
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
if(*(*(a+i)+j))
{b[k]=*(*(a+i)+j)
k++;}
else
break;
b[k]=<\0>;}}
60:第60題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所
有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,
函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
答案:
intfun(inta[],intn)
{inti,t,j=0,*p=a;
t=p[0];
for(i=0;iV=n;i++)
if(t==p)
T
else
{a[j]=t;
t=p;
j++;}
if(i>=n)
a[j]=t;
returnj;}
61:第61題第請(qǐng)編寫函數(shù)fun,該函數(shù)的功能使:統(tǒng)計(jì)各年齡段的
人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;
要求函數(shù)把0至9歲年齡段的人數(shù)放在d[0]中,把10至19歲年齡段的
人數(shù)放在d[l]中,把20至29歲的人數(shù)放在d[2]中,其余以此類推,
把100歲(含100以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸
出。
答案:
voidfun(int*a,int*b)
{inti,j;
for(j=0;i<m;j++)
b[j]=O;
for(i=0;i<n;i++)
if(a>=0&a<=9)
b[0]+=l;
elseif(a>=10&a<=19)
b[l]+=l;
elseif(a>=20&a<=29)
b[2]+=l;
elseif(a>=30&a<=39)
b[3]+=l;
elseif(a>=40&a<=49)
b[4]+=l;
elseif(a>=50&a<=59)
b[5]+=l;
elseif(a>=60&a<=69)
b[6]+=l;
elseif(a>=70&a<=79)
b[7]+=l;
elseif(a>=80&a<=89)
b[8]+=l;
elseif(a>=90&a<=99)
b[9]+=l;
else
b[10]+=l;}
62:第62題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)一一含字符串中
單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所
有單詞由小寫字母組成,單詞之間由若干個(gè)空格格開,一行的開始沒
有空格。
答案:
intfun(char*s)
{inti,n=0;
for(i=0;i<strlen(s);i++)
{if(s=,a'&s<='z'&s[i+l]==
IIs[i+l]==)
n++;}
returnn;}
63:第63題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:計(jì)算并輸出給定整
數(shù)n的所有因子(不包括1與自身)之和。規(guī)定n的值不大于1000。
答案:
intfun(intn)
{ints=0,i;
for(i=2;i<=n-l;i++)
if(n%i==0)
s+=i;
returns;}
64:第64題請(qǐng)編寫函數(shù)fun,其功能是:將?s所指字符串中ascii
值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組
中。
答案:
voidfun(char*s,chart[])
{inti,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(s%2==0)
{t[j]=s;
j++;}
t[j]='\0';}
65:第65題請(qǐng)編寫函數(shù)fun,其功能是:將兩位數(shù)的正整數(shù)a、b合
并成一個(gè)整數(shù)放在c中。合并的方式是:將?a數(shù)的十位和個(gè)位數(shù)依次
放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位
和千位上。
答案:
voidfun(inta,intb,long*c)
{*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}
66:第66題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:刪除字符串中所有*號(hào)。在編寫函數(shù)時(shí),不得使用c語
言提供的字符串函數(shù)。
答案:
voidfun(char*a)
{inti=0;char*p=a;
while(*p)
{if(*p!=,*')
{a=*p;
i++;)
p++;}
a=,\0,;}
67:第67題學(xué)生的記錄時(shí)由學(xué)號(hào)和成績組成,n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能時(shí):函數(shù)
返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒找到指
定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績置-1,作為函數(shù)值返
回(用于字符串比較的函數(shù)時(shí)strcmp)。
答案:
strecfun(strec*,char*b)
{inti;
strech;
for(i=0;i<n;i++)
if(strcmp(a.num,b)==0)
{h=a;
break;}
else
{h.num="”;
h.s=-l;}
returnh;}
68:第68題請(qǐng)編寫函數(shù)fun,其功能時(shí):計(jì)算并輸出下列多項(xiàng)式的
值:
sn=l+l/l!+l/2!+l/3!+l/4!+-+l/n!
答案:
sn=l+l/l!+1/2!+1/3!+1/4!+...+l/n!
doublefun(intn)
{doublet,sn=l.0;
inti,j;
for(i=l;i<n;i++)
{t=l.0;
for(j=l;j<=i;j++)
t*j;
sn+=l.0/t;}
returnsn;}
69:第69題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能時(shí):求Fibonacci數(shù)列
中大于t的最小的一個(gè)數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列
f(n)的定義為:
f(0)=0,f(1)=1,f(n)=f(n-l)+f(n-2)
答案:
f(0)=0,f(1)=1,f(n)=f(n-l)+f(n-2)
intfun(intt)
{inta=l,b=l,c=0,i;
for(i=4;i<=t;i++)
{if(c<t)
{c=a+b;
a=b;
b=c;}
else
break;}
returnc;}
70:第70題編寫函數(shù)fun,它的功能時(shí):計(jì)算并輸出下列級(jí)數(shù)和:
s=l/l*2+l/2*3+…+l/n(n+1)
答案:
doublefun(intn)
{doubles=0.0;
inti;
for(i=l;i<=n;i++)
s=s+l.0/(i*(i+l));
returns;}
71:第71題請(qǐng)編寫函數(shù)fun,其功能時(shí):將兩個(gè)兩位數(shù)的正整數(shù)a、
b合并形成一個(gè)整數(shù)放在c中,合并的方式是:將a數(shù)的十位和個(gè)位
數(shù)依次放在c數(shù)的十位和千位上,b的十位和個(gè)位整數(shù)依次放在c數(shù)
的百位和個(gè)位上。
答案:
voidfun(inta,intb,long*c)
{*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;}
72:第72題請(qǐng)編寫函數(shù)fun,其功能是:將?s所指字符串中下標(biāo)為
偶數(shù)的字符刪除,串中剩余字符形成新串放在t所指數(shù)組中。
答案:
voidfun(char*s,chart[])
{inti,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0)
{t[j]=s;
j++;}
t[j]=<\0>;)
73:第73題假定輸入的字符串中只包含字母和*號(hào),請(qǐng)編寫函數(shù)fun,
它的功能是:除了字符串前導(dǎo)和尾部的*號(hào)之外,將串中其他*號(hào)全部
刪除。形參h已指向字符串第一個(gè)字符,形參p已指向字符串中最后
一個(gè)字母。在編寫程序時(shí),不得使用c語言提供的字符串函數(shù)。
答案:
voidfun(char*a,char*h,char*p)
{inti=0;
char*q=a;
while(q<h)
{a=*q;
q++;
i++;)
while(q<p)
{if(*q!=''*)
{a=*q;
i++;)
q++;}
while(*q)
{a=*q;
i++;
q++;}
a=<\0,;)
74:第74題學(xué)生的記錄由學(xué)號(hào)和成績組成n名學(xué)生的數(shù)據(jù)已在主函
數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能時(shí):把分?jǐn)?shù)最
低的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止
一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。
答案:
intfun(strec*a,strec*b)
{inti,j=0,n=0,min;
min=a[O].s;
for(i=0;i<n;i++)
if(a.s<min)
min=a.s;
for(i=0;i<n;i++)
if(a.s==min)
{*(b+j)=a;
j++;
n++;}
returnn;}
75:第75題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能:將m行n列的二維數(shù)
組中的數(shù)據(jù),按列的順學(xué)依次放到一維數(shù)組中。
答案:
voidfun(int(*s)[]10,int*b,int*n,intmm,intnn)
{inti,j;
for(j=0;j<nn;j++)
for(i=0;i<mm;i++)
{b[*n]=*(*(s+i)+j);
*n=*n+l;}}
if(s[i]>max)
max=s[i];
*k=I;
8:第8題編寫函數(shù)fun,功能是:根據(jù)以下攻勢計(jì)算s,計(jì)算結(jié)果作為
函數(shù)值返回;n通過形參傳入。
S=l+l/(l+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n)
答案:
floatfun(intn)
(
inti;
floats=l.0,t=l.0;
for(i=2;iV=n;i++)
t=t+i;
s=s+l/t;
)
returns;
)
9:第9題編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求p的值,
結(jié)果由函數(shù)值帶回。M與n為兩個(gè)正整數(shù),且要求m>n。p=m!/n!(m-n)!
答案:
floatfun(intm,intn)
(
floatp,t=l.0;
intI;
for(i=l;i<=m;i++)
t=t*I;
p=t;
for(t=l.0,i=l;i<=n;i++)
t=t*I;
p=p/t;
for(t=l.0,i=l;i<=m-n;i++)
t=t*I;
p=p/t;
returnp;
10:第10題編寫函數(shù)fun,它的功能是:利用以下的簡單迭代方法求
方程cos(x)-x=0的一個(gè)實(shí)根。
迭代步驟如下:(1)取xl初值為0.0;(2)x0=xl,把xl的值賦各x0;
(3)xl=cos(x0),求出一個(gè)新的xl;
(4)若xO-xl的絕對(duì)值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟
(2);
⑸所求xl就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。
程序?qū)⑤敵鰎oot=0.739085c
答案:
floatfun()
floatxl=0.0,xO;
do
xO=xl;
xl=cos(xO);
)
while(fabs(xO-xl)>le-6);
returnxl;
)
11:第11題下列程序定義了nXn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦
值。請(qǐng)編寫函數(shù)fun(inta[][n]),該函數(shù)的功能是:使數(shù)組左下半
三角元素中的值全部置成0。
答案:
intfun(inta[][N])
intI,j;
for(i=0;i<N;i++)
for(j=0;j<=I;j++)
a[i][j]=0;
)
12:第12題下列程序定義了nXn的二維數(shù)組,并在主函數(shù)中賦值。
請(qǐng)編寫函數(shù)fun,函數(shù)的功能使求出數(shù)組周邊元素的平均值并作為函
數(shù)值返回給主函數(shù)中的s。
答案:
doublefun(intw[][N])
intI,j,k=0;
doubles=0.0;
for(j=0;j<N;j++)
s+=w[0][j];
k++;
for(j=0;j<N;j++)
s+=w[N-l][j];
k++;
for(i=l;i<=N-2;i++)
s+=w[i][0];
k++;
for(i=l;i<=N-2;i++)
s+=w[i][N-l];
k++;
returns/=k;
13:第13題請(qǐng)編寫一個(gè)函數(shù)voidfun(inttt[m][n],intpp[n]),tt
指向一個(gè)m行n列的二維函數(shù)組,求出二維函數(shù)組每列中最小元素,
并依次放入PP所指定一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦
予。
答案:
voidfun(inttt[M][N],intpp[N])
intI,j,min;
for(j=0;j<N;j++)
min=tt[O][j];
for(i=0;i<M;i++)
if(tt[i]Lj]<min)
min=tt[i][j];
pp[j]=min;
14:第14題請(qǐng)別寫函數(shù)fun,函數(shù)的功能使求出二維數(shù)組周邊元素之
和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。
答案:
intfun(inta[M][N])
(
intI,j,s=0;
for(j=0;j<N;j++)
(
s+=a[O][j];
s+=a[M-l][j];
)
for(i=l;i<=M-2;i++)
s+=a[i][0];
s+=a[i][N-l];
)
returns;
)
15:第15題請(qǐng)編寫一個(gè)函數(shù)unsignedfun(unsignedw),w使一個(gè)大
于10的無符號(hào)整數(shù),若w使n(nN2)位的整數(shù),則函數(shù)求出w后n—1
位的數(shù)作為函數(shù)值返回。
答案:
unsignedfun(unsignedw)
unsignedt,s=0,sl=l,p=0;
t=w;
while(t>10)
(
if(t/10)
p=t%10;
s=s+p*sl;
sl=sl*10;
t=t/10;
)
returns;
16:第16題請(qǐng)編寫一個(gè)函數(shù)floatfun(doubleh),函數(shù)的功能使對(duì)
變量h中的值保留2位小樹,并對(duì)第三位進(jìn)行四舍五入(規(guī)定h中的值
位正數(shù))。
答案:
floatfun(floath)
(
longt;
floats;
h=h*1000;
t=(h+5)/10;
s=(float)t/100.0;
returns;
17:第17題請(qǐng)編寫一個(gè)函數(shù)fun(char*s),該函數(shù)的功能使把字符
串中的內(nèi)容擬置。
答案:
(
charch;
intI,m,n;
i=0;
m=n=strlen(s)-l;
while(i<(n+l)/2)
ch=s[i];
s[i]=s[m];
s[m]=ch;
i++;
m——;
)
)
18:第18題編寫程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)。
答案:
voidfun(intarray[3][3])
intI,j,temp;
for(i=0;i<3;i++)
for(j=0;j<I,j++)
(
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
)
)
19:第19題編寫函數(shù)fun,該函數(shù)的功能是:從字符中刪除指定的字
符,同一字母的大、小寫按不同字符處理。
答案:
voidfun(chars[],intc)
inti=0;
char*p;
P=s;
while(*p)
if(*p!=c)
s[i]=*p;
i++;
p++;
s[i]=,\(T;
)
20:第20題編寫函數(shù)intfun(intlim,intaa[max]),該函數(shù)的功
能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回
所求的素?cái)?shù)的個(gè)數(shù)。
答案:
intfun(intlim,intaa[MAX])
(
intk=0,I,j;
for(i=lim;i>l;i一)
for(j=2;j<i;j++)
if(i%j==O)
break;
else
continue;
if(j>=i)
(
aa[k]=i;
k++;
returnk++;
21:第21題請(qǐng)編寫函數(shù)fun,對(duì)長度位7個(gè)字符的字符串,除首尾字
符外,將其余5個(gè)字符按ascii碼降序排列。
答案:
voidfun(char*s,intnum)
(
chart;
intI,j;
for(i=l;i<num-2;i++)
for(j=i+l;j<num-l;j++)
if(s[i]<s[j])
(
t=s[i];
s[i]=s[j];
s[j]=t;
)
)
22:第22題n名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表
結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它的功能是:找出
學(xué)生的最高分,由函數(shù)值返回。
答案:
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;
)
23:第23題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:判斷字符串是否為
回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中
輸出no?;匚氖侵疙樧x和倒讀都是一樣的字符串。
答案:
intfun(char*str)
(
intI,n=0;fg=l;
char*p=str;
while(*p)
n++;
p++;
for(i=0;iVn/2;i++)
if(str[i]==str[n-l-i]);
else
fg=0;
break;
returnfg;
)
24:第24題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將一個(gè)字符串轉(zhuǎn)換
為一個(gè)整數(shù)(不得調(diào)用c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。
答案:
longfun(char*p)
(
longs=0,t;
inti=0,j,n=strlen(p),k,si;
if(p[0]=='-,)
i++;
for(j=I;j<=n-l;j++)
t=p[j]-'O'
sl=10;
for(k=j;k<n-l;k++)
t*=sl;
s+=t;
if(p[O]=='-')
return-s;
else
returns;
25:第25題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:比較兩個(gè)字符串的
長度,(不得調(diào)用c語言提供的求字符串長度的函數(shù)),函數(shù)返回較長
的字符串。若兩個(gè)字符串長度相同,則返回第一個(gè)字符串。
答案:
char*fun(char*s,char*t)
(
char*p,*sl=s;
intn=0;m=0;
while(*sl)
n++;
sl++;
while(*tl)
(
m++;
tl++;
)
if(n>=m)
P=s;
else
P=t;
returnp;
)
26:第26題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求x
的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代):
X/2=1+1/3+1X2/3X5+1X2X3/3X5X7+1X2X3X4/3X5X7X
9+…+1X2X3X…Xn/3X5X7X(2n+l)
程序運(yùn)行后,如果輸入精度0.0005,則程序輸出為3.14…。
答案:
doublefun(doubleeps)
(
doubles;
floatn,t,pi;
t=l;pi=O;n=l.0;s=l.0;
while((fabs(s))>=eps)
pi+=s;
t=n/(2*n+l);
s*=t;
n++;
pi=pi*2;
returnpi;
27:第27題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:求除1到m之內(nèi)(含m)
能北7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。
答案:
voidfun(intm,int*a,int*n)
(
intI,j=0;*n=0;
for(i=l;i<=m;i++)
if(i%7=0||i%ll==0)
(
a[j]=I;
j++;
*n=j;
28:第28題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:找出一維整型數(shù)組
元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參
傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是
x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下
標(biāo)。
答案:
voidfun(inta[],intn,int*max,int*d)
(
intI;
*max=a[0];
*d=0;
for(i=0;I<n;i++)
if(a[i]>*max)
(
*max=a[i];
*d=I;
)
)
29:第29題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:將ss所指字符串中
所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則
不轉(zhuǎn)換)。
答案:
voidfun(char*ss)
intI,n;
n=strlen(ss);
for(i=l;i<n;i+=2)
if(ss[i]>=,a'&&ss[i]<=,z')
ss[i]=ss[i]-32;
)
30:第30題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:求除一個(gè)2Xm整型
二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。
答案:
intfun(inta[][M])
intI,j,max;
max=a[O][0];
for(i=0;i<2;i++)
for(j=0;j<M;j++)
if(a[i][j]>max)
max=a[i][j];
returnmax;
)
31:第31題請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中除了下
標(biāo)為偶數(shù)、同時(shí)一ascii值也為偶數(shù)的字符外,其余的全都刪除;串中
剩余字符所形成的一個(gè)新串放在t所指的一個(gè)數(shù)組中。
答案:
voidfun(char*s,chart口)
intI,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2==0&&s[i]%2==0)
t[j]=s[i];
j++;
t[j]='\0'
32:第32題請(qǐng)編寫函數(shù)fun,其功能是:將?s所指字符串中除了下
標(biāo)為奇數(shù)、同時(shí)-scii值也為奇數(shù)的字符之外,其余的所有字符都刪
除,串中剩余字符所形成的一個(gè)新串放在t所指的一個(gè)數(shù)組中。
答案:
voidfun(char*s,chart口)
(
intI,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2!=0&&s[i]%2!=0)
t[j]=s[i];
j++;
)
t[j]='\0'
33:第33題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:使字符串中尾部的*號(hào)不得多于n個(gè);若多于n個(gè),則
刪除多于的*號(hào);若少于或等于n個(gè),則什么也不做,字符串中間和
前面的*號(hào)不刪除。
答案:
voidfun(char*a,intn)
inti=O;k=O;
char*p,*t;
p=t=a;
while(*t)
t++;
t一;
while(*t=='*')
k++;
t一;
t++;
if(k>n)
while(*p&&p<t+n)
a[i]=*p;
i++;
p++;
a[i]=<\0,;
)
34:第34題學(xué)生的記錄由學(xué)號(hào)和成績組成,n名學(xué)生的數(shù)據(jù)已在主
函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能使:把分?jǐn)?shù)
最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不
止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。
答案:
intfun(STREC*a,STREC*b)
(
intI,j=0,n=0,max;
max=a[O].s;
for(i=0;i<N;i++)
if(a[i].s>max)
max=a[i].s;
for(i=0;i<N;i++)
if(a[i].s==max)
*(b+j)=a[i];
j++;
n++;
returnn;
35:第35題請(qǐng)編寫一個(gè)函數(shù),用來刪除字符串中的所有空格。
答案:
voidfun(char*str)
inti=0;
char*p=str;
while(*p)
if(*p!='')
str[i]=*p;
i++;
文章來自:大學(xué)生校園網(wǎng)TvSchooLCN詳文參考:
http://www.vvschool.cn/html/class/exam/2009/1117/18454.htm
1
p++;
str[i]=,\0';
)
36:第36題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:將字符串中的前導(dǎo)*號(hào)全部移到字符串的尾部。
答案:
voidfun(char*a)
inti=0,n=0;
char*p;
P=a;
while(*p==,*,
n++;
p++;
while(*p)
a[i]=*p;
i++;
p++;
while(n!=0)
a[i]=;
i++;
n—;
)
a[i]='\0'
37:第37題某學(xué)生的記錄由學(xué)號(hào)、8門課程成績和平均分組成,學(xué)號(hào)
和8門課程的成績已在主函數(shù)中給出。請(qǐng)編寫函數(shù)fun,它的功能是:
求出該學(xué)生的平均分放在記錄的ave成員中。請(qǐng)自己定義正確的形
參。
答案:
voidfun(STREC*p)
(
doubleav=0.0;
inti:
for(i=0;i<N;i++)
av+=p->s[i];
av/=N;
p->ave=av;
38:第38題請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中指
定字符的個(gè)數(shù),并返回此值。
答案:
intfun(char*ss,charc)
(
intn=0;
while(*ss)
]
if(*ss==c)
n++;
ss++;
returnn;
)
39:第39題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:移動(dòng)一維數(shù)組中的
內(nèi)容,若數(shù)組中由n個(gè)整數(shù),要求把下標(biāo)從0到p(p小于等于n—1)
的數(shù)組元素平移到數(shù)組的最后。
答案:
voidfun(int*w,intp,intn)
(
intb[N],i,j=0;
for(i=0;i<=p;i++)
b[i]=w[i];
j++;
for(i=0;i<=p;i++)
w[j]=b[i];
j++;
)
40:第40題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是移動(dòng)字符串中內(nèi)容,
移動(dòng)的規(guī)則如下:把第1到第m個(gè)字符,平移到字符串的最后,把第
m+1到最后的字符移到字符串的前部。
答案:
voidfun(char*w,intm)
(
charb[N];
intI,j=0;
for(i=0;i<m;i++)
(
b[j]=w[i];
j++;
for(i=0;i<strlen(w)-m;i++)
w[i]=w[i+m];
for(j=0;j<m;j++)
(
w[i]=b[j];
i++;
)
w[i]=;
)
41:第41題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:將m行n列的二維
數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。
答案:
voidfun(char(*s)[n],char*b)
{inti,j,k=0;
for(j=0;j<n;j++)
for(i=0;i<m;i++)
{b[k]=*(*(s+i)+j)
k++;}
b[k]=<\0,;}
42:第42題下列程序定義了nXn的二維數(shù)組,并在主函數(shù)中自動(dòng)賦
值。請(qǐng)編寫函數(shù)fun(inta[][n],intn),該函數(shù)的功能是:將數(shù)組
右上半三角元素中的值乘以fflo
答案:
voidfun(inta[][n],intm)
{inti,j;
for(j=0;j<n;j++)
for(i=0;i<=j;i++)
a[j]=a[j]*m;}
43:第43題編寫一個(gè)函數(shù),從傳入的num個(gè)字符串中找出一個(gè)最長
的一個(gè)字符串,并通過形參指針max傳回該串地址(用****作為結(jié)束:
輸入的標(biāo)志)。
答案:
char*fun(char(*a)[81],intnum)
{inti;
char*max;
max=a[O];
for(i=0;i<num;i++)
if(strlen(max)<strlen(a))
max=a;
returnmax;}
44:第44題編寫一個(gè)函數(shù),該函數(shù)可以統(tǒng)計(jì)一個(gè)長度為2的字符串在
另一個(gè)字符串中出現(xiàn)的次數(shù)。
答案:
intfun(char*str,char*substr)
{intn;
char*p,*r;
n=0;
while(*str)
{p=str;
r=substr;
while(*r)
if(*r==*p)
{r++;
p++;}
else
break;
if(*r=='\0')
n++;
str++;}
returnn;}
45:第45題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都
不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*
號(hào)的個(gè)數(shù),形參e給出了字符串中最后的*個(gè)數(shù)。在編寫時(shí)不得使用
c語言給提供得字符串函數(shù)。
答案:
voidfun(char*a,intn,inth,inte)
{inti=0;
char*p;
for(p=a+h;p<a+n-e;p++)
{*(a+i)=*p;
i++;}
*(a+i)='\0';}
46:第46題學(xué)生得記錄由學(xué)號(hào)和成績組稱個(gè),n名大學(xué)生得數(shù)據(jù)已
在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能時(shí):按
分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前
文章來自:大學(xué)生校園網(wǎng)TvSchool.CN詳文參考:
http://www.vvschool.cn/html/class/exam/2009/1117/18455.htm
1
答案:
voidfun(streca[])
{inti,j;
strect;
for(i=0;i<n-l;i++)
for(j=i;s<n;j++)
if(a.s<a[j].s)
{t=a;
a-a[j];
a[j]=t;}}
47:第47題請(qǐng)編寫一個(gè)函數(shù)voidfun(char*ss),其功能時(shí):將字
符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若位置上不是
字母,則不轉(zhuǎn)換)。
答案:
voidfun(char*ss)
{inti,n=0;
char*p=ss;
while(*p)
{n++;
p++;}
for(i=0;i<n;i++)
if((ss='a'&ss<='z')&i%2!=0)
ss=ss-32;
ss='\0';)
48:第48題請(qǐng)編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a,b
合并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位依次
放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位
和個(gè)位上。
答案:
voidfun(inta,intb,long*c)
{*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;}
49:第49題請(qǐng)編寫函數(shù)fun,其功能是:將?s所指字符串中下標(biāo)位
偶數(shù)同時(shí)ascii值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放
在t所指的數(shù)組中。
答案:
voidfun(char*s,chart[])
{inti,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2=0&s%2!=0)
else
{f[j]=s;
j++;}
t[j]='\0';}
50:第50題已知學(xué)生的記錄是由學(xué)號(hào)和學(xué)習(xí)成績構(gòu)成,n名學(xué)生的
數(shù)據(jù)已存入a機(jī)構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:找
出成績最高的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個(gè)最高
分)。
答案:
voidfun(stua[],stu*s)
{inti,max;
max=a[0].s;
for(i=0;i<n;i++)
if(a.s>max)
{max=a.s;
*s=a;}}
計(jì)算機(jī)二級(jí)C語言上機(jī)南開100題及答案⑵
默認(rèn)分類2009-07-1019:05閱讀2842評(píng)論12字號(hào):大
大中中小小51:第51題請(qǐng)編寫函數(shù)fun,其功能是:將所有大
于1小于整數(shù)m的非素?cái)?shù)存入xx所指的數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過k
傳回。
答案:
voidfun(intm,int*k,intxx[])
{inti,j;
intt=0;
for(i=2;i<m;i++)
{j=2;
while(j<i)
{if(i%j==O)
{xx[t]=i;
t++;
break;}
j++;}
*k=t;}}
52:第52題編寫一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連
接(不使用庫函數(shù)strcat),即把p2所指的字符串連接到pl所指的字
符串后。
答案:
voidfun(charpl[],charp2[])
{inti=0,n=0;
char*p=pl,*q=p2;
while(*p)
{p++;
n++;}
i=n;
while(*p)
{pl=*q;
q++;
i++;}
pl=<\0>;}
53:第53題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:實(shí)現(xiàn)b=a+a,即把矩
陣a加上a的轉(zhuǎn)置,存放在矩陣b中。計(jì)算結(jié)果在main函數(shù)中輸出。
答案:
voidfun(inta[3][3],intb[3][3])
{inti,j,at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at[j]=a[j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j]+at[j];}
54:第54題學(xué)生的記錄由學(xué)號(hào)和成績組稱個(gè),n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把低
于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通
過形參n傳回,平均分通過函數(shù)值返回。
答案:
doublefun(strec*a,strec*b,int*n)
{doubleaver=0.0;
inti,j=0;
*n=0;
for(i=0;i<n;i++)
aver+=a.s;
aver/=n;
for(i=0;i<n;i++)
if(a.s<aver)
{b[j]=a;
(*n)++;
j++;}
returnaver;}
55:第55題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:將m行n列的二維
數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的
個(gè)數(shù)存放在形參n所指的儲(chǔ)存單元中。
答案:
voidfun(int(*s)[10],int*b,int*n,intmm,intnn)
{inti,j;
for(i=0;i<mm;i++)
for(j=0;j<nn;j++)
{b[*n]=*(*(s+i)+j);
*n=*n+l;}}
56:第56題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:除了尾部的*號(hào)之外,將字母串中其他*號(hào)全部刪除。形
參P已指向字符串中最后的一個(gè)字母。不使用c的字符串函數(shù)。
答案:
voidfun(char*a,char*p)
{inti=0;
char*p=a;
while(q<=p)
{if(*q!=,*')
{a=*q;
i++;}
q++;}
while(*q)
文章來自:大學(xué)生校園網(wǎng)-VvSchooLCN詳文參考:
http://www.vvschool.cn/html/class/exam/2009/1117/18456.htm
1
{a=*q;
i++;
q++;}
a='\0';}
57:第57題學(xué)生的記錄是由學(xué)號(hào)和成績組成,n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能是:把指
定分?jǐn)?shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍內(nèi)的學(xué)生人
數(shù)由函數(shù)值返回。
答案:
intfun(strec*a,strec*b,int1,inth)
{inti,j=0;
for(i=0;i<n;i++)
if(a.s>=l&a.s<=h)
{b[j]=a;
j++;}
returnj;}
58:第58題編寫函數(shù)藏服那,它的功能是:求n以內(nèi)(不包括n)同
時(shí)能被3與7整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。
答案:
doublefun(intn)
{doubles=0.0;
inti;
for(i=l;i<n;i++)
if(i%3=0&i%7==0)
s=s+i;
s=sqrt(s);
returns;}
59:第59題請(qǐng)別寫函數(shù)fun,該函數(shù)的功能是:將放在字符串?dāng)?shù)組
中的m個(gè)字符串(每串的長度不超過n),按順序合并組成一個(gè)新的字
符串。
答案:
voidfun(chara[m][n],char*b)
{inti,j,k=0;
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
if(*(*(a+i)+j))
{b[k]=*(*(a+i)+j)
k++;}
else
break;
b[k]='\0';}}
60:第60題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:刪去一維數(shù)組中所
有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,
函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
答案:
intfun(inta[],intn)
{inti,t,j=0,*p=a;
t=p[0];
for(i=0;i<=n;i++)
if(t=p)
?
else
{a[j]=t;
t=p;
j++;}
if(i>=n)
a[j]=t;
returnj;}
61:第61題第請(qǐng)編寫函數(shù)fun,該函數(shù)的功能使:統(tǒng)計(jì)各年齡段的
人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中;
要求函數(shù)把0至9歲年齡段的人數(shù)放在d[0]中,把10至19歲年齡段的
人數(shù)放在dll]中,把20至29歲的人數(shù)放在d[2]中,其余以此類推,
把100歲(含100以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸
出。
答案:
voidfun(int*a,int*b)
{inti,j;
for(j=0;i<m;j++)
b[j]=O;
for(i=0;i<n;i++)
if(a>=0&a<=9)
b[0]+=l;
elseif(a>=10&a<=19)
b[l]+=l;
elseif(a>=20&a<=29)
b[2]+=l;
elseif(a>=30&aV=39)
b[3]+=l;
elseif(a>=40&a<=49)
b[4]+=l;
elseif(a>=50&a<=59)
b[5]+=l;
elseif(a>=60&a<=69)
b[6]+=l;
elseif(a>=70&a<=79)
b[7]+=l;
elseif(a>=80&a<=89)
b[8]+=l;
elseif(a>=90&a<=99)
b[9]+=l;
else
b[10]+=l;}
62:第62題請(qǐng)編寫函數(shù)fun,該函數(shù)的功能是:統(tǒng)一一含字符串中
單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所
有單詞由小寫字母組成,單詞之間由若干個(gè)空格格開,一行的開始沒
有空格。
答案:
intfun(char*s)
{inti,n=0;
for(i=0;i<strlen(s);i++)
{if(s=<a,&s<=<z,&s[i+l]==''
IIs[i+l]=='\0')
n++;}
returnn;}
63:第63題請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:計(jì)算并輸出給定整
數(shù)n的所有因子(不包括1與自身)之和。規(guī)定n的值不大于1000。
答案:
intfun(intn)
{ints=0,i;
for(i=2;i<=n-l;i++)
if(n%i=0)
s+=i;
returns;}
64:第64題請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中ascii
值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組
中。
答案:
voidfun(char*s,chart[])
{inti,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(s%2=0)
{t[j]=s;
j++;}
t[j]='\0';}
65:第65題請(qǐng)編寫函數(shù)fun,其功能是:將兩位數(shù)的正整數(shù)a、b合
并成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次
放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位
和千位上。
答案:
voidfun(inta,intb,long*c)
{*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;}
66:第66題假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,
它的功能是:刪除字符串中所有*號(hào)。在編寫函數(shù)時(shí),不得使用c語
言提供的字符串函數(shù)。
答案:
voidfun(char*a)
{inti=0;char*p=a;
while(*p)
{if(*p!='*')
{a=*p;
文章來自:大學(xué)生校園網(wǎng)-VvSchool.CN詳文參考:
http://www.vvschool.cn/html/class/exam/2009/1117/18457.htm
1
i++;}
p++;}
a=<\0,;)
67:第67題學(xué)生的記錄時(shí)由學(xué)號(hào)和成績組成,n名學(xué)生的數(shù)據(jù)已在
主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它的功能時(shí):函數(shù)
返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒找到指
定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績置-1,作為函數(shù)值返
回(用于字符串比較的函數(shù)時(shí)一strcmp)o
答案:
strecfun(strec*,char*b)
{inti;
strech;
for(i=0;i<n;i++)
if(strcmp(a.num,b)==0)
{h=a;
break;}
else
{h.num==〃〃;
h.s=-l;}
returnh;}
68:第68題請(qǐng)編寫函數(shù)fun,其功能時(shí):計(jì)算并輸出下列多項(xiàng)式的
值:
sn=l+l/l!+l/2!+l/3!+l/4!+-+l/n!
答案:
sn=l+l/l!+1/2!+1/3!+1/4!+...+l/n!
doublefun(intn)
{doublet,sn=l.0;
inti,j;
for(i=l;i<n;i++)
{t=l.0;
for(j=l;j<=i;j++)
sn+=l.0/t;}
returnsn;}
69:第69題請(qǐng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年XX企業(yè)領(lǐng)導(dǎo)力發(fā)展與企業(yè)文化塑造
- 教案解析:2024年眼鏡設(shè)計(jì)新趨勢
- 2024年百雀羚企業(yè)文化與未來展望
- 2024年繪本劇:《逃家小兔》課件與戲劇教育結(jié)合
- 2024年歷史教案:未來的教學(xué)理念與實(shí)踐
- 第47屆世界技能大賽江蘇省選拔賽-美發(fā)項(xiàng)目技術(shù)工作文件
- 2024年春季班《沁園春長沙》教案及教學(xué)反思
- 2024年新編《長恨歌》教學(xué)課件:解讀經(jīng)典之作
- 2024年初中生語文復(fù)句學(xué)習(xí)課件大全
- 白公鵝產(chǎn)業(yè)布局:2024年市場現(xiàn)狀及未來趨勢
- 東方電影學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 稅務(wù)代理合同模板
- 出租車行業(yè)管理方案
- 【課件】第四章《第三節(jié)平面鏡成像》課件人教版物理八年級(jí)上冊(cè)
- DB34∕T 2290-2022 水利工程質(zhì)量檢測規(guī)程
- 2024年中國彩屏GPS手持機(jī)市場調(diào)查研究報(bào)告
- 2024年廣東省清遠(yuǎn)市佛岡縣事業(yè)單位公開招聘工作人員歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 2024年廣東省深圳市中考?xì)v史試題
- 2024至2030年全球及中國強(qiáng)光手電筒行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報(bào)告
- 2024年秋新教材北師大版一年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)課件
- 加氣站質(zhì)量管理手冊(cè)樣本
評(píng)論
0/150
提交評(píng)論