




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.填空
給定程序功能是調(diào)用fun函數(shù)建立班級(jí)通訊錄。通訊錄中記錄每位學(xué)生編號(hào),姓
名和電話號(hào)碼。班級(jí)人數(shù)和學(xué)生信息從鍵盤讀入,每個(gè)人信息作為一種數(shù)據(jù)塊寫(xiě)
到名為myfile5.dat二進(jìn)制文獻(xiàn)中。
請(qǐng)?jiān)诔绦蛳聞澗€處填入對(duì)的內(nèi)容并把下劃線刪除,是程序得出對(duì)的成果。
注意:源程序存儲(chǔ)在考生文獻(xiàn)夾下BLANKI.c中
不得增行或刪行,也不得更改程序構(gòu)造!
voidcheck();
/**********found**********/
intfun(_1*std)
/**********found**********/
2*fp;inti;
if((m=fopen("myme5.dat“Jwb"))==NULL)
return(O);
printf(n\nOutputdatatofile!\n')
for(i=O;i<N;i++)
/*********ound**********/
fwrite(&stdLi],sizeof(STYPE),1,_3_);
fclose(fp);
return(1);
修改
給定程序MODil.C中函數(shù)fun功能是:先將在字符串s中字符按正序存儲(chǔ)到t
串中,然后把S中字符按逆序連接到t串背面。
例如:當(dāng)s中字符串為:“ABCDE"時(shí),
則她中字符串應(yīng)為:“ABCDEEDCBA”。
請(qǐng)改正程序中錯(cuò)誤,使她能得出對(duì)的成果。
注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序構(gòu)造!
voidfun(char*s,char*t)
{inti,si;
si=strlen(s);
/********found類*******火***/
for(i=O;i<=sl;i++)
t[i]=s[i];
for(i=O;i<sl;i++)
t[sl+i]=s[sl-i-l];
/****大**火去***********/
t[sl]='\0';
程序
函數(shù)fun功能是:將兩個(gè)兩位數(shù)正整數(shù)a,b合并成一種整數(shù)放在c中。合并方
式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)千位和十位上,b數(shù)十位和個(gè)位數(shù)依次
放在c數(shù)百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=4152.
注意:某些源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中數(shù)據(jù)不得修改。
請(qǐng)勿改動(dòng)主函數(shù)main和其她函數(shù)中任何內(nèi)容,僅在函數(shù)fun花括號(hào)中填入你編寫(xiě)
若干語(yǔ)句。
答案:B:STYPEFILEfp
M:for(i=0;i<si;i++)t[2*sl]=0;
P:*c=(a/10)*1000+(b/10)*100+(ao/ol0)*1O+(bo/olO);
2.填空
給定程序功能是:從鍵盤輸入若干行文本(每行不超過(guò)80個(gè)字符),寫(xiě)
到文獻(xiàn)myfile4.txt中,用一]作為字符串輸入結(jié)束標(biāo)記。然后將文獻(xiàn)內(nèi)容讀出
顯示在屏幕上。文獻(xiàn)讀寫(xiě)分別有自定義函數(shù)ReadText和WriteText實(shí)現(xiàn)。
請(qǐng)?jiān)诔绦蛳聞澗€處填入對(duì)的內(nèi)容并把下劃線刪除,是程序得出對(duì)的成
果。
注憩:源程序存儲(chǔ)在考生文獻(xiàn)夾下BLANKl.c中
不得增行或刪行,也不得更改程序構(gòu)造!
main()
{FILE*fp;
if((fp=fopen("myfile4.txt","w"))==NULL)
{printf("openfail!!\n");exit(O);}
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt","r"))==NULL)
{printf("openfail!!\n");exit(O);}
ReadText(fp);
fclose(fp);
}
/**************
voidWriteText(FILE1_)
{charstr[81];
printf(M\nEnterstringwith-1toend:\n'r);
gets(str);
while(strcmp(str,',-r,)!=O){
2—;fw);fputs("\n\fw);
gets(str);
}
)
voidReadText(FILE*fr)
{charstr[81];
printf(u\nReadfileandoutputtoscreen:\nn);
fgets(str,81,fr);
while(!feof(fr)){
/**********fond**********/
printf("%s^^—3—);
fgets(str,81,fr);
修改
給定程序MODil.c中函數(shù)fun功能是:從低位開(kāi)始取出長(zhǎng)整形變量s中奇數(shù)位上
數(shù),依次構(gòu)成一種新數(shù)放在t中,高位仍放在高位,低位仍放在低位。
例如:當(dāng)S中數(shù)為:7654321時(shí),t中數(shù)為:7531
請(qǐng)改正程序中錯(cuò)誤,使她能得出對(duì)的成果。
注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不得更改程序構(gòu)造!
#include<stdio.h>
/************found************]
voidfun(longs,longt)
longsl=10;
*t=s%IO;
while(s>0)
s=s/100;
*t=s%10*si+*t;
/********founds********&■**
si=sl*IOO;
j
程序
函數(shù)fun功能是:將兩個(gè)兩位數(shù)正整數(shù)a,b合并成一種整數(shù)放在c中。合并方
式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)千位和十位上,b數(shù)十位和個(gè)位數(shù)依次
放在c數(shù)百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=1524.
注慈:某些源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中數(shù)據(jù)不得修改。
請(qǐng)勿改動(dòng)主函數(shù)main和其她函數(shù)中任何內(nèi)容,僅在函數(shù)fun花括號(hào)中填入你編
寫(xiě)若干語(yǔ)句。
2、B:*fwstrstr
M:long*tsi=sl*lO;
P:*c=(b/10)*1000+(a%10)*I00+(b%l0)*10+(a/10);
3.填空
給定程序中,函數(shù)fun功能是:將自然數(shù)卜1()以及它們平方根寫(xiě)到名為
myfile3txt文本文檔中,然后再順序讀出顯示在屏幕上。
請(qǐng)?jiān)诔绦蛳聞澗€處填入對(duì)的內(nèi)容并把下劃線刪除,是程序得出對(duì)的成
果。
注意:源程序存儲(chǔ)在考生文獻(xiàn)夾下BLANKl.c中
不得增行或刪行,也不得更改程序構(gòu)造
intfun(char*fname)
{FILE*fp;inti,n;floatx;
if((fp=fopen(fname,"w"))==NULL)return0;
for(i=1;i<=lO;i++)
/*******干火火*******/
fprint(—11,"%d%f\nH,i,sqrt((double)i));
printf(n\nSucceed!!\n°);
/**********^^und**********[
—2—;
printf(n\nThedatainfile:\nH);
/**********found**********/
if((fp=fopen(_3—,f,))==NULL)
returnO;
fscanf(fp,no/odo/of,&n,&x);
while(!feof(fp))
{printf(no/odo/ot\nn,n,x);fscanf(fp,"o/odo/of',&n,&x);
fclose(fp);
return1;
)
修改
給定程序MODI1.c中fun函數(shù)功能是:將n個(gè)無(wú)序整數(shù)從小到大排序。
fun(intn,int*a)
{int
for(j=O;j<n-l;j++)
{P=J;
/************found************/
for(i=j+l;i<n-l;i++)
if(a|p]>a[i])
***********[ound冰***********/
t=i;
if(p!=j)
{t=a[j];ali]=i|p];a|pI:l;I
程序
函數(shù)fun功能是:將兩個(gè)兩位數(shù)正整數(shù)a,b合并成一種整數(shù)放在c中。合并方
式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)千位和十位上,b數(shù)十位和個(gè)位數(shù)依次
放在C數(shù)百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=2514
注憩:某些源程序存在文獻(xiàn)PROGLC中。數(shù)據(jù)文獻(xiàn)IN.DAT中數(shù)據(jù)不得修改。請(qǐng)
勿改動(dòng)主函數(shù)main和其她函數(shù)中任何內(nèi)容,僅在函數(shù)fun花括號(hào)中填入你編
寫(xiě)若干語(yǔ)句。
3、B:fpfclose(fp)fname
M:i<np=i
P:*c=(b%10)*l()()0+(a%10)*100+(b/10)*10+(a/10);
4.填空
給定程序功能是:調(diào)用函數(shù)fun將指定源文獻(xiàn)中內(nèi)容復(fù)制到指定目的文獻(xiàn)中,復(fù)制
成功時(shí)函數(shù)返回值為1,失敗時(shí)返回值為0,在復(fù)制過(guò)程中,把復(fù)制內(nèi)容輸出到
終端屏幕。主函數(shù)中源文獻(xiàn)名放在變蟄sfname中,目的文獻(xiàn)名放在變量tfname中
intfun(char"source,char*target)
{FILE*fs,*ft;charch;
/**********found**********/
if((fs=fopen(source,—1—)手書(shū)ULL)
return0;
if((ft=fopen(target,”w”)尸=NULL)
return0;
printf(n\nThedatainfile:\nH);
ch=fgetc(fs);
/**********found**********/
while(!feof(_2_))
{putchar(ch);
/**********fond**********/
fputc(ch,-3-);
ch=fgetc(fs);
)
fclose(fs);fclose(ft);
printf(n\n\n");
return1;
修改
給定程序MODil.C中函數(shù)fun功能是:將長(zhǎng)整形數(shù)中每一位上為偶數(shù)數(shù)依次取
出,構(gòu)成一種新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如:當(dāng)s中數(shù)為:87653142時(shí),t中數(shù)為:8642
voidfun(longs,long*t)
{intd;
longsl=l;
*t=0;
while(s>0)
{d=s%10;
/************found************/
if(d%2=0)
{*t=d*sl+*t;
si*=10;
s\=10;
程序
函數(shù)fun功能是:將兩個(gè)兩位數(shù)正整數(shù)a,b合并成一種整數(shù)放在c中。合并方式
是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)千位和十位上,b數(shù)十位和個(gè)位數(shù)依次放
在c數(shù)百位和個(gè)位上。
例如:a=45,b=12時(shí),調(diào)用該函數(shù)后,c=5142
注意:某些源程序存在文獻(xiàn)PR0G1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中數(shù)據(jù)不得修改。請(qǐng)
勿改動(dòng)主函數(shù)main和其她函數(shù)中任何內(nèi)容,僅在函數(shù)fun花括號(hào)中填入你編寫(xiě)若
干語(yǔ)句。
4、B:"r"fsft
M:(d%2==0)sl=10;
P:*c=(a%10)*1OOO+(b/l0)*1OO+(a/10)*10+(b%10);
5.填空
給定程序中已建立一種帶有頭結(jié)點(diǎn)單向鏈表,鏈表中各節(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)域中數(shù)據(jù)遞
增有序鏈表。函數(shù)fun功能是:把形參x值放入種新結(jié)點(diǎn)并插入到鏈表中,插
入后結(jié)點(diǎn)數(shù)據(jù)域值仍保持遞增有序。
typedefstructlist
{intdata;
structlist*next;
}SLIST;
voidfun(SL!ST*h,intx)
{SLIST*p,*q,*s;
s=(SLIST*)malloc(sizeof(SLIST));
/**********found**********/
s->data=_1_;
q=h;
p=h->next;
while(p!=NULL&&x>p->data){
/*********手ound**********/
q=2_;
p=p->next;
s->next=p;
/*********中ound**********I
q->next=_3_;
修改
給定程序MODil.C中函數(shù)fun功能是:計(jì)算正整數(shù)num各位上數(shù)字之積。例蛆,
若輸入:252,則輸入應(yīng)當(dāng)是:20若輸入:202,則輸出應(yīng)當(dāng)是:0.
longfun(longnum)
/***********干ound************/
longk;
do
{k*=num%10;
/***********千o1und***********毛
num\=10;
}while(num);
return(k);
請(qǐng)編寫(xiě)一種函數(shù)fun,它功能是:它功能是:計(jì)算n門課程平均分,計(jì)算成果作
為函數(shù)值返回。
例如:若有5門課程成績(jī)是:90.5,72,80,61.5,55
則函數(shù)值為:71.80
5、B:xps
M:longk=l;num/=10;
P:inti;floatave=0.0;for(i=O;i<n;i++)ave=ave+a[i];ave=ave/n;
returnave;
6.填空
給定程序中已建立一種帶有頭結(jié)點(diǎn)單向鏈表,在main函數(shù)中將多次調(diào)用
fun函數(shù),沒(méi)調(diào)用一次fun函數(shù),輸出鏈表尾部結(jié)點(diǎn)中數(shù)據(jù),并釋放該節(jié)點(diǎn),
是鏈表縮短。
voidfun(SLIST*p)
{SLIST*t,*s;
t=p->next;s=p;
while(t->next!=NULL)
{s=t;
/**************/
t=t->—1一;
/**********R)und**********[
printf("%d—2—);
s->next=NULL;
free(-3-);
}
修改
給定程序MODII.C中函數(shù)fun功能是:將字符串中字符按逆序輸出,單
補(bǔ)變化字符串中內(nèi)容。
例如,若字符串味abed,則應(yīng)輸出:deba
/************tound************/
fun(chara)
{if(*a)
{fun(a4-l);
/************f^^un*****求*****/
printf("%c"*a);
程序
請(qǐng)編寫(xiě)種函數(shù)fun,她功能是:比較兩個(gè)字符串長(zhǎng)度壞得調(diào)用c語(yǔ)言提
供求字符串長(zhǎng)度函數(shù)),函數(shù)返回較長(zhǎng)字符串。若兩個(gè)字符串長(zhǎng)度相似,則返
回第一種字符串。
例如,輸入beijingvCR>shanghai〈CR>(〈CR>為回車鍵),函數(shù)將返回
shanghai
6、B:nextt->datat
M:fun(char*a)printf("%c”,*a);
P:inti;char*p=s,*q=t;
for(i=O;*p&&*q;i++)
p++;q++;
if(*p==0&&*q==0)returns;
if(*p)returns;elsereturnt;
7.填空
給定程序中建立一種帶有頭結(jié)點(diǎn)單向鏈表,鏈表中各節(jié)點(diǎn)按數(shù)據(jù)域遞增有
序連接。函數(shù)fun功能是:刪除鏈表中數(shù)據(jù)域值相似結(jié)點(diǎn),使之只保存一種
typedefstructlist
{intdata;
structlist*next;
}SLIST;
voidfun(SLIST*h)
{SL1ST*p,*q;
p=h->next;
if(p!=NULL)
{q=p->next;
whi!e(q!=NULL)
{if(p>>data==q->data)
{p->next=q->next;
free(_l_);
/*********und**********/
q=p->—2—
{p=q;
/**********^Qund**********/
q=q->_3.
修改
給定程序MODil.C中函數(shù)fun功能是:用選取法對(duì)數(shù)組中n個(gè)元素按從小
到大順序進(jìn)行排序。
voidfun(intaLJ,intn)
{inti,j,t,p;
forU=0;j<n-1;j++){
for(i=j;i<n;i++)
if(a[i]<a|p|)
P=J;
t=a[p];a[p]=a[j];a[j]=t;
請(qǐng)編寫(xiě)一種函數(shù)fun,它功能是:求出1到m之間(含m)能被7或11整除
所有整數(shù)放在數(shù)組a中,通過(guò)n返回這些數(shù)個(gè)數(shù)。例如,若傳3送給m之位50,
則程序輸出:711142122183335424449
答案:
7、B:qnextnextM:
P=j;P=i;
P:inti;*n=O;
for(i=7;i<=m;i++)
if((i%7==0)ll(i%11==0))a[(*n)++]=i;
8.填空
給定程序中,函數(shù)fungongn是:在帶有頭結(jié)點(diǎn)單向鏈表中,查找數(shù)據(jù)域
中值為ch結(jié)點(diǎn)。找到后通過(guò)函數(shù)值返回改結(jié)點(diǎn)在鏈表中所處順序號(hào);若不存
在值為ch結(jié)點(diǎn),函數(shù)返回0值
typedefstructlist
{intdata;
structlist*next;
}SLIST;
SLIST*creatlist(char*);
voidoutlist(SLIST*);
intfun(SLIST*h,charch)
{SLIST*p;intn=0;
p=h->next;
/**********found**********/
while(p!=_1)
n++;
/**********found**********/
if(p->data==ch)return——2——;
elsep=p->next;
return0;
)
修改
給定程序MODi1.C中函數(shù)fun功能是:刪除p所指字符串中所有空白字
符(涉及制表符,回車符及換行符)
輸入字符串是用"#"結(jié)束輸入。
fun(char*p)
{inti,t;charc[80];
/************found************]
For(i=O,t=0;p[i];i++)
if(!isspace(*(p+i)))c[t++]=p[i];
/************found亭***********/
c[t]="\O";
strcpy(p,c);
程序
請(qǐng)編寫(xiě)一種函數(shù)fun,它功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上字母
轉(zhuǎn)換成大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)
例如:若輸入“abc4EFg",則應(yīng)輸出“aBc4Efg”。
答案:
8、B:NULLnhead,ch
M:forc[t]='\O';
P:inti;for(i=I;i<strlen(*ss);i+=2){if(ss[i]>='a!&&ss[i]<='z')ss[i]
-=32;
9.填空
給定程序中,函數(shù)fun功能是:記錄出帶有頭結(jié)點(diǎn)單向鏈表中個(gè)數(shù),存
儲(chǔ)在形參n所指存儲(chǔ)單元中。
voidfun(SLIST*h,int*n)
{SLIST*p;
/***************/
一1一=0;
p=h->next;
while(p)
{(*n)++;
/*火火蟲(chóng)*大大加tmd*******火**/
p=p->——2——
main()
{SLIST東head;
inta[N]={l2,87,45,32,91,16,20,48},num;
head=creatlist(a);outlist(head);
fun(3,&num);
printf("\nnumber=%d\n'',num);
修改
給定程序MODII.C中函數(shù)fun功能是:求出s所指字符串中最后一次浮
現(xiàn)t所指子字符串地址,通過(guò)函數(shù)返回值返回,在主函數(shù)中輸出從此地址開(kāi)始
字符串;若未找到,則函數(shù)值為NULL
例如:當(dāng)字符串中內(nèi)容為“abcdefabcdx"t中內(nèi)容為“ab”時(shí),輸出成果應(yīng)是:
abcdx
當(dāng)字符串中內(nèi)容為“abcdefabcdx”t中內(nèi)容為“abd”時(shí),則程序輸出未找到信息
notbefound
char*fun(char*s,char*t)
/************found************[
a=Null;
while(*s)
p二S;
while(*r)
/f^Und************[
if(r==P)
{r++;p++;}
elsebreak;
if(*r==*\0')a=s;
s++;
return
程序
函數(shù)fun功能是:將s所指字符串中除了下標(biāo)問(wèn)為偶數(shù),同步ASCH值也為偶數(shù)
字符外,別的所有刪除:串中剩余字符所形成一種新串放在t所指數(shù)組中
例如,若s所指字符串中內(nèi)容為“ABCDEFG123456",其中字符AASCII碼味奇
數(shù),因而應(yīng)當(dāng)刪除,其中字符bASCH碼值為偶數(shù),但是在數(shù)組中下標(biāo)為基數(shù),
因而也當(dāng)刪除;
答案
9、B:*nnexthead
M:a=NULL;*r==*p
P:inti,j=0;
for(i=0;i<strlen(s);i+=2)
if(s[i]%2==0)HJ++]=s[ij;
tU]=O;
10.填空
給定程序中,函數(shù)fun功能是:計(jì)算出帶有頭結(jié)點(diǎn)單向鏈表中各結(jié)點(diǎn)數(shù)據(jù)域中值
之和作為函數(shù)返回值。
intfun(SLIST*h)
{SLIST*p;ints=O;
p=h->next;
while(p)
(
/***************/
s+=p->一1一;
/亭*********found字*********/
P=P->-'2—;
returns;
修改
給定程序MODII.C中函數(shù)fun功能是:將s所指字符串中浮現(xiàn)與ti所指字符串
相似字串所有替代成t2所指字符串,所形成新串放在w所指數(shù)組中,在此處,
規(guī)定tl和t2所指字符串長(zhǎng)度相似。
intfun(char*s,char*tl,char*t2,char*w)
intJ;char*p,*r,*a;
strcpy(w,s);
while(*w)
{p=w;r=tl;
/***★****fo&rvd類********卅**
while(r)
if(*r==*p){r++;p++;}
elsebreak;
if(*r=='。)
「a=w;r=t2;
while(*r){
[************found************/
*a=*r;a++;r++
w+=strlen(t2);
elsew++;
程序
函數(shù)fun功能是;將s所指字符串下標(biāo)為偶數(shù)字符刪除,串中剩余字符形成新串放
在t所指數(shù)組中
例如:當(dāng)s所指字符串中內(nèi)容為:“ABCDEFGHIJK"
在t所指數(shù)組中內(nèi)容應(yīng)是“BDFHJ”
10、B:datanexthead
M:*rr++;
P:inti,j=0;for(i-1;i<strlen(s);i+=2)tU++)=s[i];tUJ=0;
11.填空
人員記錄有編號(hào)和出生年月日構(gòu)成,N名人員數(shù)據(jù)已在主函數(shù)中存入構(gòu)
造體數(shù)組std中,且編號(hào)唯?。函數(shù)fun功能是:找出數(shù)據(jù)中編號(hào)為空串。
1_fun(STU*std,char*num)
{inti;STUa={『9999,99,99};
for(i=O;i<N;i++)
/******火火***火***/
if(strcmp(2,num)==0)
[**********found**********/
return(_3一);
returna;
)
修改
給定程序MODil.C中函數(shù)fun功能是:從s所指字符串中,找出與t所
指字符串相似字串個(gè)數(shù)作為函數(shù)返回值
例如,當(dāng)s所指字符串中內(nèi)容為:nabcdabfab",t所指字符串內(nèi)容為:“ab”
則函數(shù)返回整數(shù)3
intfun(char*s,char*t)
intii;char*p,*r;
n=0;
while(*s)
{p=s;r=t;
while(*r)
if(*r==*p){
/***¥********found************/
r++;p++
J
elsebreak;
/************found************/
if(r=='\Of)
n++;
s++;
returnn;
}
函數(shù)fun功能是:將s所指字符串中ASCII值為偶數(shù)字符刪除,串中剩
余字符形成一種新串放在t所指數(shù)組中
例如,若s所指字符串中內(nèi)容為“ABCDEFG12345",其中字符BASCH
碼值為偶數(shù)..
答案:
11、B:STUstd[i].numstd[i]
M:p++;*r=='\O';
P:inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2)t[J++]=s[i];t[J]=0;
12.填空
人員記錄由編號(hào)和出生年月日構(gòu)成N名成員數(shù)據(jù)已在主函數(shù)中存入構(gòu)造體數(shù)組
std中,函數(shù)fun功能是:找出指定出生年份人員,將其數(shù)據(jù)放在形參K所指數(shù)
組中,由主函數(shù)輸出,同事有函數(shù)值返回滿足指定條件人數(shù)
intfun(STU*std,STU*k,intyear)
{inti,n=O;
for(i=O;i<N;i++)
/*********亭found**********[
if(—1—==year)
/*******他und**********/
k[n++]=-2—;
[**********found**********/
return(_3—);
}
修改
給定程序MOD112oC功能是:讀入一種整數(shù)k(2《K《1000),打印她所有因子
例如2310,則應(yīng)輸出2,3,5,7,11
/************found**********求*]
IsPrime(intn);
int1,m;
m=1;
for(i=2;i<n;i++)
/*******斗:贊)*******/
if!(n%i)
m=0;break;}
return(m);
設(shè)計(jì)
已知學(xué)生記錄有學(xué)號(hào)成績(jī)構(gòu)成,N名學(xué)生數(shù)據(jù)已經(jīng)存入構(gòu)造體數(shù)組a中。編寫(xiě)函數(shù)
fun,函數(shù)功能是:找出成績(jī)最高學(xué)生記錄,通過(guò)形參指針傳回主函數(shù)(規(guī)定只有
一種最高分)。已給出函數(shù)首部,請(qǐng)完畢該函數(shù)
12、B:std[i].yearstd[i]nM:分號(hào)去掉if(!(n%i))
P:inti,max=a[O].s,j=0;for(i=1;i<N;i++)if(max<a[i].s){j
=i;max=a[i].s;}*s=au];
13.填空
給定程序通過(guò)定義并賦初值方式,運(yùn)用構(gòu)造體變量存儲(chǔ)了一名學(xué)生學(xué)號(hào),姓名和
3們課程成績(jī),函數(shù)fun功能是將該學(xué)生各科成績(jī)都乘以種系數(shù)a
voidshow(STUtt)
{inti;
printf("%d%s:U,tt.num,);
for(i=O;i<3;i++)
printf(n%5.1f\tt.score|ij);
printf(n\nn);
/**********代jund*****求****/
voidmodify(1*ss,floata)
for(i=O;i<3;i++)
/**********found**********/
ss->—2—*=a;
main()
{STUstd={I,nZhanghuan,76.5,78.0,82.0};
floata;
printf("\nTheoriginalnumberandnameandscores:\n'7
show(std);
printf(u\nlnputanumber:");scanf("%f\&a);
/**********found**********/
modify(_3_,a);
printf("\nAresultofmodifying:\n");
show(std);
修改
給定程序MODLC中函數(shù)fun功能是:求k!(k<13),所求階乘值作為函數(shù)值返回,
例如若(k=10,則應(yīng)輸出:3628800
longfun(intk)
/************found************/
ifk>0
return(k*fun(k-l));
/************found************/
elseif(k=O)
returnIL;
設(shè)計(jì)
程序定義了N*N二維數(shù)組。并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)功能
是:使數(shù)組左下三角元素值乘以n
例如:若n值為3,a數(shù)組值為
13、B:STUscored]&stdM:()k==OP:inti,j;for(i=0;i<N;
i++)for(j=0;j<=i;j++)a[i]U]*=n;
14填空
給定程序中,函數(shù)fun功能是:將形參所指構(gòu)造體數(shù)組中三個(gè)元素按num成員
進(jìn)行升序排列
/**********found**********/
voidfun(PERSON—1_)
(
/********火***大***/
----2-----temp;
if(std[O].num>std[l].num)
{temp=stdlO];stdlO]=std[l];std[lJ=temp;}
if(std[OJ.num>std[2].num)
{temp=std[O];std[O]=std[2];std[2]=temp;}
if(std[I].num>std[2].num)
{temp=std[l];std[l]=std|2|;std[2]=temp;
main()
{PERSONstd[]={5,,'Zhanghun,2;,WangLi',,6,,,LinMinn};
int
/**********found**********/
fun(-3——);
printf(°\nTheresultis:\nn);
for(i=O;i<3;i++)
printf("%d,%s\n",std[i],num,std[i].name);
}
修改
給定程序MODil.c中函數(shù)fun功能是:將m個(gè)字符串連接起來(lái)構(gòu)成一種新串,
放入pt所指存儲(chǔ)區(qū)中
intfun(charstr[][10],intm,char*pt)
/************found************]
for(k=O;k<m;k++)
{q=strlen(str[k]);
for(i=O;i<q;i++)
/************(ound************]
pt[i]=str[k,i];
pt+=q;
pt[OJ=0;
設(shè)計(jì)
程序定義了N*N二維數(shù)組,并在主函數(shù)中自動(dòng)賦值,請(qǐng)編寫(xiě)函數(shù)fun,函數(shù)功
能是:使數(shù)組左下:角元素中值所有值0
14、B:*stdPERSONstdM:intstr|k][i]P:inti,j;for(i=0;i<
N;i++)for(i=0;j<=i;j++)a[i][j]—0;
15填空
給定程序中,函數(shù)fun功能是:將形參std所指構(gòu)造體數(shù)組中年齡最大者數(shù)據(jù)作
為函數(shù)值返回,并在主函數(shù)中輸出
STDfun(STDstd[],intn)
{STDmax;inti;
/*:*********nd**********]
max=1:
for(i=l;i<n;i++)
/**********found**********/
if(max.age<2)max=std[i];
returnmax;
main()
{STDstd[5]={Haaau,17,"bbbn,l6,nccc",18,"ddd",17,"eee",15);
STDmax;
max=fun(std,5);
printf(M\nTheresult:\n");
]**********found**********/
printf("\nName:%s,Age:%d\nn,3,max.age);
}
修改
給定程序MODU.c中函數(shù)fun功能是:實(shí)現(xiàn)兩個(gè)整數(shù)互換
例如給a和b分別輸入60和65,輸出為:a=65b=60
/*********und**********]
voidfun(inta,b)
{intt;
/**********found**********/
t=b;b=a;a=t;
設(shè)計(jì)
請(qǐng)編制種函數(shù)fun,tt指向種M行N列二維數(shù)組,求二維數(shù)組每列中最小元
素,并以此放入pp所指一維數(shù)組中。二維數(shù)組中數(shù)已在主函數(shù)中賦予
15、B:*stdstdLiJ.M:int*bt=*b;*b=*a;*a=t;P:int
i,j,min,k;for(i=0:i<JST;iH-4-Ji-rin=tt(P][i];k=O;for(J-1;
j<M;j++)if(min>{min=tt[j]Ci];k=j;}pp[i]=tt[k][i]:}
16填空
程序通過(guò)定義并賦初值方式,運(yùn)用構(gòu)造體變量存儲(chǔ)了一名學(xué)生信息,函數(shù)fun功
能是輸出這位學(xué)生信息
/**********found**********]
voidshow(STU_1_)
{inti;
printf(n\n%d%s%c%d-%d-%dn,tt.num,,tt.sex,
tl.birthday.year,tt.birthday.month,tt.birthday.day);
for(i=O;i<3;i++)
/**********found**********/
printf(M%S.lf\_2_);
printf("\nu);
main()
{STUstd={1,uZhanghua,';M,,1961,10,8,76.5,78.0,82.0);
printf("\nAstudentdata:\nu);
/**********found**********/
show(_13-
修改
給定程序MODil.c中函數(shù)fun功能是:求出數(shù)組中最大數(shù)和次大數(shù),并把最大
數(shù)和a[0]中數(shù)對(duì)調(diào),次最大數(shù)和a[1]中書(shū)對(duì)調(diào)
intfun(int*a,intn)
{inti,m,t,k;
for(i=O;i<2;i++){
[**********found**********/
m=O;
for(k=i+1;k<n;k++)
/*******fbdn曰**********/
if(a[k]>a[m])k=m;
t=a[i];a[i]=a[m];a[m]=t;
}
設(shè)計(jì)
請(qǐng)編寫(xiě)一種函數(shù)unsignedfun,w是一種大與10無(wú)符號(hào)整數(shù),若w是n為整數(shù),
函數(shù)求出w低n-l位數(shù)作為函數(shù)值返回
例如w為5923則函數(shù)返回923;
16>B:tttt.score[i]stdM:m=im=k
P:if(w>lOOOO)w%=10000;else氓w>IOOO)w%=1000;elseif(w>lOO)
w%=100;elseif(w>10)w%=10;returnw;
17填空
給定程序中,函數(shù)fun功能是:對(duì)形參ss所指字符串?dāng)?shù)組中M個(gè)字符串按長(zhǎng)度
由短到長(zhǎng)進(jìn)行排序。Ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)《N
voidfun(char(*ss)[N])
{inti,j,k,n[M];chart[N];
for(i=O;i<M;i++)n[i]=strlen(ss[i]);
for(i=O;i<M-l;i++)
/**********fiound*********[for^j
=一1一;j<M;j++)
/*******found*******火**/
if(n[k]>nU])—2—;
if(k!=i)
{strcpy(t,ss[i]);
strcpy(ss[i],ss[k]);
/*火大大大**found**********/
strcpy(ss[k],—3—):
n[k]=n[i];
}
}
}
給定程序MODI。C中函數(shù)fun功能是:判斷ch中字符與否與str所指串中某個(gè)
字符相似;若相似,什么也不做,若不同,則將其插在串最后
#include<string.h>
/*******************/
voidfun(charstr,charch)
{while(*str&&1&r!=ch)stH+;
j**********found**********/
if(*str==ch)
{str[0)=ch;
/林*火***捌uhd***火***#'**
str[I]=*0';
}
)
設(shè)計(jì)
請(qǐng)編制?種函數(shù)fun,函數(shù)功能是吧s所指字符串中內(nèi)容逆值
17、B:i+1k=jtM:char*str!=0
P:charb[N];inti=O,j;for(J=strlen(s)-1;j>=0;j-)b[i++]=sLi);
b[i]=O;strcpy(s,b);
18填空
給定程序中,函數(shù)fun功能是:求出形參ss所指字符串?dāng)?shù)組中最長(zhǎng)字符串長(zhǎng)
度,別的字符串左邊用字符*補(bǔ)齊,使其與最長(zhǎng)字符串等長(zhǎng),字符串?dāng)?shù)組中共有
M個(gè)字符串
voidfun(char(*ss)[N])
{inti,j,k=O,n,m,len;
for(i=O;i<M;i++)
{len=strlen(ss[i]);
if(i==O)n=len;
if(len>n){
/**********found**********/
n=len;]=
for(i=O;i<M;i++)
if(i!=k)
{m=n;
len=strlen(ss[i]);
/**********found**********/
fbrU=12——;j>=O:j—)
ss[il|m-]=ss[i]Li];
forU=O;j<n-len;j++)
/**********found**********/
3
)
)
修改
給定程序MODi1.c中函數(shù)fun功能是:計(jì)算整數(shù)n階乘
doublefun(intn)
doubleresult=I.O;
while(n>l&&n<l70)
/*********found*********[
result*=—n;
/*********]nd*********[
return;
設(shè)計(jì)
編寫(xiě)函數(shù)fun,函數(shù)功能是:從s所指字符串中刪除給定字符。同一種字母
大小寫(xiě)按不同字符解決
18、B:klenss[i]Li]M:n—resultP:char*p=s;inti=O;while(*p)
{if(*p!=c)s[i++]=*p;p++;}s[i]=0;
19填空
給定程序中,函數(shù)fun功能是:求出形參ss所指字符串?dāng)?shù)組中最長(zhǎng)字符串長(zhǎng)度,
將別的字符串右邊用字符*補(bǔ)齊,使其與最長(zhǎng)字符串等長(zhǎng)。Ss所指字符串?dāng)?shù)組中共
有M個(gè)字符串
voidfun(char(*ss)|N])
{inti,j,n,len=O;
for(i=O;i<M;i++)
{len=strlen(ss[i]);
if(i==O)n=len;
if(len>n)n=len;
for(i=O;i<M;i++){
/**********^^und**********
n=strlen(-1—);
forU=O;j<len-n;j++)
/**********£^)und**********/
ss[i][—2—拄*';
/*****不***¥found**********
ss[i][n+j+—3—]=<0';
修改
給定程序MODIIoC中函數(shù)fun功能是將:p所指字符串中每個(gè)單詞最后一種字
母改成大寫(xiě)
#include<stdio.h>
voidfun(char*p)
intk=O;
for(;加;p4+)
if(k)
(
/****************
K
[**********^Qund***********/
*(p-1)=toupper(*(p-I))
else
k=l;
j
設(shè)計(jì)
請(qǐng)編寫(xiě)函數(shù)fun,對(duì)長(zhǎng)多為7個(gè)字符字符串,除首,尾字符外,將別的5個(gè)字符
按ASCII降序排列
19、B:ss[ijn+j1M:*p;P:charch;inti,j;for(i=l;i<
6;i++)
forU=i+I;j<6;j++){if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)
=*(s+i);*(s+i)=ch;}}
20填空
給定程序中,函數(shù)fun功能是:求ss所指字符串?dāng)?shù)組中長(zhǎng)度最長(zhǎng)字符串所在
行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參n所指變量中。Ss所指字符串?dāng)?shù)
組中共有M個(gè)字符串
N
#define20
******fbund*******才**
intfun(char(*ss)1,int*n)
{inti,k=O,len=O;
for(i=O:i<M;i++)
{len=strlen(ss[i]);
[*木********found**********/
if(i==O)*n=-2-;
if(len>*n){
/*******fbiand**********/
_____3.
k=i;
return(k);
修改
給定程序MODil.c中函數(shù)fun功能是:依照形參m,計(jì)算如下公式值
t-1+-----+---—+-------
234m
例如,若輸入5.則應(yīng)輸出2.283333c
doublefun(intm)
doublet=1.0;
■mti;
for(i=2;i<=m;i++)
/**********fi_iond**********/
t+=1.0/k;
/**********found**********/
設(shè)計(jì)
編寫(xiě)一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 砂漿抹面施工方案
- 柱亞克力燈箱施工方案
- 展廳裝飾裝修承包合同
- 管道除銹施工方案
- 4米高圍擋施工方案
- 手球館地坪施工方案
- 房屋粉刷安裝施工方案
- 堤壩護(hù)坡混凝土施工方案
- 反光漆施工方案
- 填筑施工方案
- 2025年上半年宜賓江安縣人社局招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員考試真題
- 《VAVE價(jià)值工程》課件 - 創(chuàng)造最大化的價(jià)值與效益
- 2025年江蘇航空職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 中醫(yī)養(yǎng)生保健知識(shí)科普
- 2023年湖北省技能高考計(jì)算機(jī)類備考題庫(kù)(萬(wàn)維題庫(kù))-中部分(800題)
- 社區(qū)居委會(huì)2025年工作總結(jié)暨2025年工作計(jì)劃
- S145水表井標(biāo)準(zhǔn)圖集
- 2024年天翼云認(rèn)證運(yùn)維工程師考試復(fù)習(xí)題庫(kù)(含答案)
- 水果聯(lián)營(yíng)合同范例
評(píng)論
0/150
提交評(píng)論