




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1套
1.填空題
請補(bǔ)充main函數(shù),該函數(shù)的功能是:把一個(gè)字符串中的所有小寫字母字符全部轉(zhuǎn)換成大寫字母字符,
其他字符不變,結(jié)果保存原來的字符串中。
例如:當(dāng)str[N]="123abcdefABCDEF!”,結(jié)果輸出:“123ABCDEFABCDEF!”。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<stdIib.h>
#include<conio.h>
#defineN80
voidmainO
(
intj;
charstr[N]=,z123abcdefABCDEF!”;
char*pf=str;
clrscr0;
printfC***originaIstring***\n");
puts(str);
【1】;j=0
while(*(pf+j))
(
if(*(pf+j)>-a,&&*(pf+j)<='z')
(
*(pf+j)=3;*(pf+j)-32
j++;
)
else
[3];j++
}
printf(,z******newstring******\n");
puts(str);
system("pause");
)
1.填空題
[1]j=0[2]*(pf+j)-32[3]j++
2.改錯(cuò)題
下列給定程序中,函數(shù)fun()的功能是逐個(gè)比較a,b兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCII值小或相
等的字符依次存放到c數(shù)組中,形成一個(gè)新的字符串。
例如:a中的字符串為fshADfg,b中的字符串為sdAEdi,則c中的字符串應(yīng)為fdAADf。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<stdio.h>
#incIude<string.h>
voidfun(char*p,char*q,char*c)
{intk=0;
while(*p||*q)
{if(*p>=*q)
c[k]=*q;
eIsec[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
)
)
main()
{chara[10]=z,fshADfgz,,b[10]=z,sdAEdic[80]={'\0"};
fun(a,b,c);
printf(z,Thestringa:");puts(a);
printf(/zThestringb:");puts(b);
printf("Theresu11:puts(c);
)
2.改錯(cuò)題
(1)錯(cuò)誤:{if(*p<=*q)
正確:{if(*p>=*q)
(2)錯(cuò)誤:k++
正確:k++;
3.編程題
請編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:
將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。
例如,當(dāng)a=16,b=35,調(diào)用該函數(shù)后,c=53610
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<stdio.h>
voidfun(inta,intb,long*c)
(
*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;
)
main()
(
inta,b;
longc;
cIrscr();
printf(〃Inputa,b;〃);
scanf("%d%cT,&a,&b);
fun(a,b,&c);
printf("Theresultis:%ld\n”,c);
}
3.編程題
voidfun(inta,intb,long*c)
(
*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;
)
第2套
1.填空題
請補(bǔ)充main函數(shù),該函數(shù)的功能是求方程ax?+bx+c=0的兩個(gè)實(shí)數(shù)根。方程的系數(shù)a、b、c從鍵盤輸入,
如果判別式(disc=b2-4ac)小于0,則要求重新輸入a、b^c的值。
例如,當(dāng)a=1,b=2,c=1時(shí),方程的兩個(gè)根分別是x1=T.00,x2=-1.00o
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include"math.
#include<stdio.h>
main()
(
floata,b,c,disc,x1,x2;
clrscr0;
do
(
printfCInputa,b,c:〃);
scanf(z,%f,%f,%f,z,&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printfCdisc=%f\nInputagain!
\n〃,disc);
}whiIe([1]);disc<0
printf(〃*******theresuIt*******\n〃);
x1=【2】;(-b+sqrt(disc))/(2*a)
x2=[3];-b-sqrt(disc))/(2*a)
printfC\nx1=%6.2f\nx2=%6.2f\n〃,x1,x2);
)
1.填空題
[1]disc<0[2](-b+sqrt(disc))/(2*a)[3](-b-sqrt(disc))/(2*a)
2.改錯(cuò)題
下列給定程序中,函數(shù)fun()的功能是根據(jù)整型形參m,計(jì)算如下公式的值。
y=1-1/(2X2)+1/(3X3)-1/(4X4)+—+(-1)^'7(mXm)
例如:m中的值為5,則應(yīng)輸出0.838611。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<conio.h>
#incIude<stdio.h>
doubIefun(intm)
{doubIey=1.0;
intj=1;doublej=1.0;
inti;
for(i=2;i<=m;i++)
(
y+=1/(i*i);y+=j/(i*i);
)
return(y);
)
main()
(
intn=5;
cIrscr();
printf(,z\nTheresultis,fun(n));
)
2.改錯(cuò)題
昔
1J\t誤
Z?ntj=1;
E琳
doubIej=1.0
誤
2)xt昔
zy+=1/(i*i)
2E確
y+=j/(i*i)
3.編程題
請編一^函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)
組每列中最大元素,并依次放入PP所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<conio.h>
#incIude<stdio.h>
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
(
inti,j,max;
for(j=0;j<N;j++)
max=tt[0][j];
for(i=0;i<M;i++)
if(tt[i][j]>max)
max=tt[i][j];
pp[j]=max;
)
main()
(
intt[M][N]={{68,32,54.12},{14,24,88,58},{42,22,44,56));
intp[N],i,j,k;
cIrscr();
printf(z,TheriginaIdatais:\rT);
for(i=0;i<M;i++)
(
for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf(z,\n,z);
)
fun(t,p);
printf(z,\nTheresu11is:\n");
for(k=O;k<N;k++)
printf("%4d”,p[k]);
printfCAnO;
)
3.編程題
voidfun(inttt[M][N],intpp[N])
inti,j,max;
for(j=0;j<N;j++)
max=tt[0][j];
/*假設(shè)各列中的扇一個(gè)元素最大*/
for(i=0;i<M;i++)
if(tt[i][j]>max)
/*如果各列中的其他元素比最大值
還大二則將更大的元素看做當(dāng)前該列中最
大的元素*/
max=tt[i][j];
pp[j]=max;
/*海各列的最大值依次放入PP數(shù)組中*/
)
)
第3套
1.填空題
請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把一個(gè)整數(shù)轉(zhuǎn)換成字符串,并倒序保存在字符數(shù)組str中。例如:
當(dāng)戶13572468時(shí),str="86427531”。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<conio.h>
#defineN80
charstr[N];
voidfun(Iongintn)
(
inti=0;
while([]])n>0
(
str[i]=[2];n%10+,0,
n/=10;
i++;
)
【3】;str[i]=,\0,
)
mainO
(
longintn=13572468;
clrscr0;
printf("***theorigiaIdata***\n");
printfrn=%ldz,,n);
fun(n);
printf("\n%s”,str);
1
1.填空題
[1]n>0[2]n%10+,0'[3]str[i]='\0'
2.改錯(cuò)題
下列給定程序中,函數(shù)fun的功能是按以下遞歸公式求函數(shù)值。
(?-ox2
例如:當(dāng)給n輸入5時(shí),函數(shù)值為240;當(dāng)給n輸入3時(shí),函數(shù)值為60。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<stdio.h>
fun(intn);
(
intc;
if(n==1)
c=15;
eIse
c=fun(n-1)*2;
return(c);
)
main()
(
intn;
printf("Entern:");
scanf("%d",&n);
,,
printf("Theresu11:%d\n\n)fun(n));
)
2.改錯(cuò)題
(1)錯(cuò)誤:fun(intn);
正確:fun(intn)
(2)錯(cuò)誤:if(n=1)
正確:if(n==1)
3.編程題
請編寫函數(shù)fun(),對(duì)長度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按ASCII值碼升序排
列。
例如:原來的字符串為BdsihAd,則排序后輸出為BAdhisd。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<stdio.h>
#incIude<ctype.h>
#incIude<conio.h>
intfun(char*s,intnum)
(
chart;
inti,j;
for(i=1;i<num-2;i++)/*下標(biāo)值從1開始,用循環(huán)依次取得字符串中的字符*/
for(j=i+1;j<num-1;j++)/*將字符與其后的每個(gè)字符比較*/
if(s[i]>s[j])/*如果后面字符的ASCII碼值小于該字符的ASCII碼值*/
{t=s[i];/*則交換這兩個(gè)字符*/
s[i]=s[j];
1
)
main()
(
chars[10];
cIrscr();
printf("輸入7個(gè)字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s”,s);
)
3.編程題
intfun(char*s,intnum)
{chart;
inti,j;
for(i=1;i<num-2;i++)/*下標(biāo)值從1開始,用循環(huán)依次取得字符串中的字符*/
for(j=i+1;j<num-1;j++)/*將字符與其后的每個(gè)字符比較*/
if(s[i]>s[j])/*如果后面字符的ASCII碼值小于該字符的ASCII碼值*/
{t=s[i];/*則交換這兩個(gè)字符*/
s[i]=s[j];
)
)
第4套
1.填空題
數(shù)組xx[N]保存著一組3位數(shù)的無符號(hào)正整數(shù),其元素的個(gè)數(shù)通過變量num傳入函數(shù)fun()。請補(bǔ)充函數(shù)
fun(),該函數(shù)的功能是:從數(shù)組xx中找出個(gè)位和百位的數(shù)字相等的所有無符號(hào)整數(shù),結(jié)果保存在數(shù)組yy
中,其個(gè)數(shù)由函數(shù)fun()返回。
例如:當(dāng)xx[8]={135,78,72,32,222,424,333,141,541}時(shí),bb[6]={787,232,222,424,333,141}o
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<conio.h>
#defineN1000
intfun(intxx[],intbb[],intnum)
(
inti,n=0;
intg,b;
for(i=0;i<num;i++)
(
[11;xx[i]%10
b=xx[i]/100;
if(g^b)
_[2]_;bb[n++]=xx[i]
}
return[3];n
)
main0
(
intxx[8]={135,787,232,222,424,333,
141,541);
intyy[N];
intnum=O,n=O,i=O;
num=8;
clrscr();
printf(z,***originaIdata***\n〃);
for(i=O;i<num;i++)
printf(,z%u,z,xx[i]);
printf(,,\n\n\n,z);
n=fun(xx,yy,num);
printfC\nyy=〃);
for(i=0;i<n;i++)
printfC%u",yy[i]);
)
1.填空題
t1]xx[i]%10[2]bb[n++]=xx[i][3]n
2.改錯(cuò)題
下列給定程序中函數(shù)fun()的功能是計(jì)算1/n!的值。
例如:給n輸入5,則輸出0.008333。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<stdio.h>
#incIude<conio.h>
intfun(intn)doubIe
{doubIeresult=1.0;
if(n=0)
return1.0;
while(n>1&&n<170)
result*=n++;一
result=1/result;
returnresult;
)
main()
(
intn;
printf(,zInputN:〃);
scanf&n);
printf(,z\n1/%d!=%If\n”,n,fun(n));
)
2.改錯(cuò)題
(1)錯(cuò)誤:intfun(intn)
正確:doubIefun(intn)
(2)錯(cuò)誤:result*=n++;
正確:resu11*=n-;
3.編程題
編寫函數(shù)fun(),它的功能是求n以內(nèi)(不包括n)同時(shí)能被5與11整除的所有自然數(shù)之和的平方根s,并作
為函數(shù)值返回。
例如:n為1000時(shí),函數(shù)值應(yīng)為s=96,979379。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<conio.h>
#incIude<math.h>
#incIude<stdio.h>
doubIefun(intn)
doublefun(intn)
{doubles=0.0;
inti;
for(i=0;i<n;i++)
if(i%5==0&&i%ll==0)
s=s+i;
s=sqrt(s);
returns;
)
main()
(
cIrscr();
printf("s=%f\n”,fun(1000));
)
3.編程題
doublefun(intn)
(doubles=0.0;
inti;
for(i=0;i<n;i++)
/*從0?n中找到既能被5整除同時(shí)
又能被11整除的數(shù),并將這些數(shù)求和*/
if(i%5==0&&i%ll==0)
s=s+i;
s=sqrt(s);
/*對(duì)s求平方根*/
returns;
第5套
1.填空題
請補(bǔ)充main函數(shù),該函數(shù)的功能是求方程ax'+bx+cR的根(方程的系數(shù)a,b,c從鍵盤輸入)。
例如,當(dāng)a=1,b=2,c=1時(shí),方程的兩個(gè)根分別是:x1=-1.00,x2=-1.00o
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在main函數(shù)的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
(
floata,b,c,disc,x1,x2,p,q;
scanf("%f,%f,%f”,&a,&b,&c);
disc=b*b-4*a*c;
clrscr0;
printf(z,*******theresult*******\n,z);
if(disc>=0)
{
x1=⑴;(-b+sqrt(disc))/(2*a)
x2=(-b-sqrt(disc))/(2*a);
printfC'x1=%6.2f,x2^6.2f\n”,x1,x2);
1
else
(
P=[2];-b/(2*a)
q=[3];sqrt(fabs(disc))/(2*a)
printfCx1=%6.2f+%6.2fi\n”,p,q);
printf("x2=%6.2f-%6.2fi\n”,p,q);
)
)
1.填空題
[1](-b+sqrt(disc))/(2*a)
[2]-b/(2*a)
[3]sqrt(fabs(disc))/(2*a)
2.改錯(cuò)題
下列給定程序中函數(shù)fun()的功能是計(jì)算正整數(shù)num的各位上的數(shù)字之平方和。
例如:輸入352,則輸出應(yīng)該是38;若輸入328,則輸出應(yīng)該是77。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<stdio.h>
#incIude<conio.h>
Iongfun(longnum)
(
longk=1;0
do
(
k+=(num%10)*(num%10);
num/=10;
}whiIe(num);
return(k);
)
main()
(
longn;
cIrscr();
printf(,Z\PIeaseenteranumber:,z);
scanf("%Id",&n);
printfC\n%Id\nz,,fun(n));
)
2.改錯(cuò)題
(1)錯(cuò)誤:longk=1;
正確:longk=0;
(2)錯(cuò)誤:while(num)
正確:while(num);
3.編程題
請編寫函數(shù)fun(),它的功能是求Fibonacci數(shù)列中小于t的最大的一個(gè)數(shù),結(jié)果由函數(shù)返回。其中
Fibonacci數(shù)列F(n)的定義為
F(0)=0,F(1)=1
F(n)=F(nT)+F(n-2)
例如:t=1000時(shí),函數(shù)值為987。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<conio.h>
#incIude<math.h>
#incIude<stdio.h>
fun(intt)
inta=1,b=1,c=0,i;/*a代表第n-2項(xiàng),b代表第n-1項(xiàng),c代表第n項(xiàng)*/
/*如果求得的數(shù)c比指定比較的數(shù)小,則計(jì)算下一個(gè)Fibonacci數(shù),
對(duì)a,b重新置數(shù)*/
c=a+b;
a=b;
b=c;
while(c<t);/*如果求得的數(shù)c比指定比較的數(shù)大時(shí),退出循環(huán)*/
c=a;/*此時(shí)數(shù)c的前一個(gè)Fibonacci數(shù)為小于指定比較的數(shù)的最大的數(shù)*/
return
)
main()
(
intn;
cIrscr();
n=1000;
printf(z,n=%d,f=%d\n”,n,fun(n));
3.編程題
intfun(intt)
(
inta=1,b=1,c=0,i;/*a代表第n-2項(xiàng),b代表第nT項(xiàng),c代表第n項(xiàng)*/
/*如果求得的數(shù)c比指定比較的數(shù)小,則計(jì)算下一個(gè)Fibonacci數(shù),
對(duì)a,b重新置數(shù)*/
c=a+b;
a=b;
b=c;
)
while(c<t);/*如果求得的數(shù)c比指定比較的數(shù)大時(shí),退出循環(huán)*/
c=a;/*此時(shí)數(shù)c的前一個(gè)Fibonacci數(shù)為小于指定比較的數(shù)的最大的數(shù)*/
returnc;
)
第六套
1.填空題
請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:計(jì)算NXN維矩陣元素的方差,結(jié)果由函數(shù)返回。維數(shù)N在主函數(shù)
中輸入。例如:
463032
a=40617
451548的計(jì)算結(jié)果是14.414
求方差的公式為:
1」
皂Xk
其中九左=i
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<conio.h>
#include<stdIib.h>
#include<math.h>
#defineN20
doubIefun([]],intn)inta[][N]
(
inti,j;
intk;
doubIes=0.0;
doubIef=0.0;
doubIeaver=0.0;
doubIesd=0.0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
s+=a[i][j];
aver=[2】;s/(n*n)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
f+=(a[i][j]-aver)*(a[i][j]-aver);
f/=(n*n);
sd=[3];sqrt(f)
returnsd;
)
mainO
(
inta[N][N];
intn;
inti,j;
doubIes;
clrscr0;
print"'*****Inputthedimensionof
arrayN*****\n");
scanf("%d",&n);
print*'*****Thearray*****\n");
for(i=0;i<n;i++)
(
for(j=0;j<n;j++)
(
a[i][j]=rand0%50;
while(a[i][j]=0)
a[i][j]=rand0%60;
printf("%4d”,a[i][j]);
)
printf(z,\n\nz,);
)
s=fun(a,n);
printf("*****THERESULT*****\n");
printfC%4.3f\n",s);
)
1.填空題
[11inta[][N][2]s/(n*n)[3]sqrt(f)
2.改錯(cuò)題
下列給定程序中,函數(shù)fun()的功能是將字符串s中位于偶數(shù)位置的字符或ASCII碼為奇數(shù)的字符放入字
符串t中(規(guī)定第一個(gè)字符放在第0位中)。
例如:字符串中的數(shù)據(jù)為ADFESHDI,則輸出應(yīng)當(dāng)是AFESDI。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<conio.h>
#incIude<stdio.h>
#incIude<string.h>
#defineN80
voidfun(chars,chart[])
inti,尸0;
for(i=0;i<strIen(s);i++)
if(i%2=0||s[i]%2!=0)
t[j++]=s[i];
)
main()
(
chars[N],t[N];
cIrscr();
printf(,z\nPIeaseenterstrings:;
gets(s);
fun(s,t);
printf("\nTheresu11is:%s\n”,t);
)
2.改錯(cuò)題
(1)錯(cuò)誤:voidfun(chars,chart[])
正確:voidfun(char*s,chart[])
(2)錯(cuò)誤:if(i%2=0||s[i]%2!=0)
正確:if(i%2==ojjs[i]%2!=0)
3.編程題
請編寫一個(gè)函數(shù)fun(),它的功能是計(jì)算并輸出給定整數(shù)n的所有因子(不包括1與自身)的平方和(規(guī)定
n的值不大于100)。
例如:主函數(shù)從鍵盤給輸入n的值為56,則輸出為sum=1113。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<stdio.h>
Iongfun(intn)
)
main()
(
intn;
Iongsum;
printfCInputn:");
scanf(,,%dz,,&n);
sum=fun(n);
printf("sun產(chǎn)%Id\n”,sum);
)
3.編程題
Iongfun(intn)
(
inti;
Iongs=0;
for(i=2;i<=n-1;i++)/*從2~n7中找n的所有因子*/
if(n%i==0)
s+=i*i;/*將所有因子求平方加*/
returns;/*將平方和返回*/
)
第7套
1.填空題
請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2倒置后接在字符串str1后面。
例如:str1="Howdo",str2="?oduoy”,結(jié)果輸出:"Howdoyoudo?”。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<conio.h>
#defineN40
voidfun(char*str1,char*str2)
(
inti=0,j=O,k=O,n;
charch;
char*p1=str1;
char*p2=str2;
whiIe(*(p1+i))
if
whiIe(*(p2+j))
j++;
n=[1];
for(;k<=j/2;k++,j—)
(
ch=*(p2+k);
*(p2+k)=*(p2+j);
"(pZ+Dkh;
)
[2]:
for(;[3];i++)
*31+。$2++;
*(p1+i)='\0';
)
main0
(
charstr1[N],str2[N];
intm,n,k;
clrscr0;
printf(z,***Inputthestringstr1&str2
***\n");
printf(,z\nstr1:z,);
gets(str1);
printf(,z\nstr2:z,);
gets(str2);
printfThestringstr1&str2***\n");
puts(str1);
puts(str2);
fun(str1,str2);
print*'***Thenewstring***\n");
puts(str1);
)
1.填空題
[1]j—[2】*(p2+n)='\0'【3】*p2
2.改錯(cuò)題
下列給定程序中,函數(shù)fun()的功能是找出100?n(不大于1000)之間百位數(shù)字加十位數(shù)字等于個(gè)位數(shù)字
的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,個(gè)數(shù)作為函數(shù)值返回。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#incIude<stdio.h>
#defineN100
intfun(int*s,intn)
(
inti,j,k,a,b,c;
j=0;
for(i=100;i<n;i++)
(
k=n;
a=k%10;
k/=10;
b=k%10;
c=k/10;
if(a==b+c)
s[j]=i;
)
returnj;
)
main()
(
inta[N],n,num=O,i;
do
(
printf(z,\nEntern(<=1000)
scanf("%d",&n);
}
whiIe(n>1000);
num=fun(a,n);
printf(z,\n\nTheresu11:\n");
for(i=0;i<num;i++)
printf("%5d”,a[i]);
printfC\n\n,z);
)
2.改錯(cuò)題
(1)錯(cuò)誤:k=n;
正確:k=i;
(2)錯(cuò)誤:s[j]=i;
正確:s[j++]=i;
3.編程題
程序定義了NXN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請編寫函數(shù)fun(inta[][N],intn),該函
數(shù)的功能是使數(shù)組左下半三角元素中的值加上n。
例如:若n的值為3,a數(shù)組中的值為
a=254
169
537
則返回主程序后a數(shù)組中的值應(yīng)為
554
499
8610
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#incIude<stdio.h>
#incIude<conio.h>
#incIude<stdlib.h>
#defineN5
fun(inta[][N],intn)
)
main()
(
inta[N][N],n,i,j;
cIrscr();
print*'*****Thearray*****\n");
for(i=0;i<N;i++)/*產(chǎn)生一個(gè)隨機(jī)5*5矩陣*/
(
for(j=0;j<N;j++)
(
a[i][j]=rand()%10;
,,,/
printf(%4d,a[i][j]);
)
printf("\n");
}
do
n=rand()%10;/*產(chǎn)生一*?小于5的隨機(jī)數(shù)n*/
while(n>=5);
,,,,
printf(n=%4d\nIn);
fun(a,n);
printf("*****THERESULT*****\n");
for(i=0;i<N;i++)
(
for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printfCAn");
)
)
3.編程題
fun(inta[][N],intn)
(
inti,j;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
a[i][j]=a[i][j]+n;/*使數(shù)組左下半三角元素中的值加上n*/
)
第8套
1.填空題
請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:按‘0'到'9'統(tǒng)計(jì)一個(gè)字符串中的奇數(shù)數(shù)字字符各自出現(xiàn)的次
數(shù),結(jié)果保存在數(shù)組num中。注意:不能使用字符串庫函數(shù)。
例如:輸入“x=112385713.456+0.909*bc”,結(jié)果為:1=3,3=2,5=2,7=1,9=2。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
ttdefineN1000
voidfun(char*tt,intnum口)
(
inti,j;
intbb[10];
char*p=tt;
for(i=0;i<10;i++)
(
num[i]=0;
bb[i]=O;
}
while([]])
(
if(*p>='0'&&*p<='9')
[2];
P++;
}
for(i=1,j=0;i<10;i=i+2,j++)
[3];
)
main0
(
charstr[N];
intnum[10],k;
clrscr0;
printfr\nPIeaseenteracharstring:");
gets(str);
printf("\n**Theoriginalstring**\n");
puts(str);
fun(str,num);
printfC\n**Thenumberofletter**\n,z);
for(k=0;k<5;k-H-)
(
printf("\n");
printf("%d=%d”,2*k+1,num[k]);
)
printfCAn");
return;
1
1.填空題
[1]*p[2]bb[*p-01]++[3]num[j]=bb[i]
2.改錯(cuò)題
下列給定程序中,函數(shù)fun()的功能是求出數(shù)組中最小數(shù)和次最小數(shù),并把最小數(shù)和a[0]中的數(shù)對(duì)調(diào),
次最小數(shù)和a[1]中的數(shù)對(duì)調(diào)。
請改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineN20
voidfun(int*a,intn)
(
inti,m,t,k;
for(i=0;i<n;i++)
(
m=i;
for(k=i;k<n;k++)
if(a[k]<a[m])
k=m;
t=a[i];
a[i]=a[m];
a[m]=t;
)
)
main()
(
intx,b[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;
cIrscr();
for(i=0;i<n;i++)
printf(,z%d”,b[i]);
printf("\n");
fun(b,n);
for(i=0;i<n;i++)
printf(z,%d”,b[i]);
printf("\n");
)
2.改錯(cuò)題
(1)錯(cuò)誤:for(i=0;i<n;i++)
正確:for(i=0;i<2;i++)
(2)錯(cuò)誤:k=m;
正確:m=k;
3.編程題
m個(gè)人的成績存放在score數(shù)組中,請編寫函數(shù)fun(),它的功能是:將高于平均分的人數(shù)作為函數(shù)值返
回,將高于平均分的分?jǐn)?shù)放在up所指的數(shù)組中。
例如,當(dāng)score數(shù)組中的數(shù)據(jù)為24,35,88,76,90,54,59,66,96時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,
up中的數(shù)據(jù)應(yīng)為88,76,90,66,96。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#incIude<string.h>
intfun(intscore[],intm,intup[])
I
main()
(
inti,n,up[9];
intscore[9]={24,35,88,76,90,54,59,66,96);
cIrscr();
n=fun(score,9,up);
printf("\nuptotheaveragescoreare:");
for(i=0;i<n;i++)
printf("%d”,up[i]);
)
3.編程題
intfun(intscore[],intm,intup[])
(
inti,j=0;
fIoatav=0.0;
for(i=0;i<m;i++)
av=av+score[i]/m;/*求平均值*/
for(i=0;i<m;i++)
if(score[i]>av)/*如果分?jǐn)?shù)高于平均分,則將此分
第9套
1.填空題
請補(bǔ)充main函數(shù),該函數(shù)的功能是:從字符串str中取出所有數(shù)字字符,并分別計(jì)數(shù),然后把結(jié)果保存
在數(shù)組b中并輸出,把其他字符保存在b[10]中。
例如:當(dāng)str1="ab123456789cde090”時(shí),結(jié)果為:
0:21:12:13:14:15:16:17:18:19:2othercharactor:5
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語
句。
試題程序:
#include<stdio.h>
#include<conio.h>
mainO
(
inti,b[11];
char*str="ab123456789cde090”;
char*p=str;
clrscr0;
print"'***theorigialdata***\n〃);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家裝水電安裝合同范本
- 光纖熔接工程外包勞務(wù)合同
- 承租機(jī)械設(shè)備租賃合同
- 提高辦公效率的策略與方法研究
- 2025年青海貨運(yùn)從業(yè)資格證考試500題
- 出租房房屋租賃合同
- 個(gè)人加工合同協(xié)議書
- 抗滑樁基礎(chǔ)勞務(wù)施工合同
- 股份制公司運(yùn)營優(yōu)化方案
- 2025年黑龍江貨運(yùn)從業(yè)資格證模擬考試題庫及答案大全
- Unit5 What day is it today?(教學(xué)設(shè)計(jì))-2023-2024學(xué)年教科版(廣州)英語四年級(jí)下冊
- 《網(wǎng)絡(luò)信息安全教學(xué)》課件
- 徐州2025年江蘇徐州市口腔醫(yī)院招聘非在編醫(yī)務(wù)人員53人筆試歷年參考題庫附帶答案詳解-1
- 2025年01月2025中國作家協(xié)會(huì)所屬單位公開招聘11人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 影視制作項(xiàng)目委托制作協(xié)議
- 用色彩情感引發(fā)共鳴社交媒體運(yùn)營秘訣
- 廣東2024年12月佛山市教育局公開選調(diào)1名公務(wù)員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 植物角創(chuàng)設(shè)培訓(xùn)
- 法院生活費(fèi)申請書
- 2025年湖南工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 【課件】學(xué)校后勤管理工作
評(píng)論
0/150
提交評(píng)論