![2024年計算機等級考試二級C語言上機考試題庫和答案_第1頁](http://file4.renrendoc.com/view12/M06/00/18/wKhkGWdOanOAcmA3AADvB716uMQ231.jpg)
![2024年計算機等級考試二級C語言上機考試題庫和答案_第2頁](http://file4.renrendoc.com/view12/M06/00/18/wKhkGWdOanOAcmA3AADvB716uMQ2312.jpg)
![2024年計算機等級考試二級C語言上機考試題庫和答案_第3頁](http://file4.renrendoc.com/view12/M06/00/18/wKhkGWdOanOAcmA3AADvB716uMQ2313.jpg)
![2024年計算機等級考試二級C語言上機考試題庫和答案_第4頁](http://file4.renrendoc.com/view12/M06/00/18/wKhkGWdOanOAcmA3AADvB716uMQ2314.jpg)
![2024年計算機等級考試二級C語言上機考試題庫和答案_第5頁](http://file4.renrendoc.com/view12/M06/00/18/wKhkGWdOanOAcmA3AADvB716uMQ2315.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1.填空
給定程序的功能是調(diào)用fun函數(shù)建立班級通訊錄。通訊錄中記錄每位學(xué)生
日勺編號,姓名和號碼。班級的人數(shù)和學(xué)生的信息從鍵盤讀入,每個人的信息作
為一種數(shù)據(jù)塊寫到名為myfile5.dat的J二進(jìn)制文獻(xiàn)中。
請在程序的下劃線處填入對的H勺內(nèi)容并把下劃線刪除,是程序得出對的的成
果。
注意:源程序寄存在考生文獻(xiàn)夾下的BLANK1.c中
不得增行或刪行,也不得更改程序的構(gòu)造!
voidcheck();
/**********found**********/
intfun(1___*std)
(
/**********found**********/
―2*fp;inti;
if((fp=fopen("myfile5.dat","wbH))==NULL)
return(O);
printf("\n0utputdatatofile!\n");
for(i=0;i<N;i++)
/**********f^)und**********/
fwrite(&std[i],sizeof(STYPE),1,3___);
fclose(fp);
return(1);
)
修改
給定程序M0DI1.C中函數(shù)fun的功能是:先將在字符串s中的字符按正序寄存
到t串中,然后把s中時字符按逆序連接到t串背面。
例如:當(dāng)s中的I字符串為:“ABCDE”時,
則他中的字符串應(yīng)為:“ABCDEEDCBA”。
請改正程序中的錯誤,使他能得出對日勺的成果。
注意:不要改動main函數(shù),不能增行或刪行,也不得更改程序的構(gòu)造!
voidfun(char*s,char*t)
{inti,si;
si=strlen(s);
/************fbund************/
for(i=0;i<=s1;i++)
t[i]=s[i];
for(i=0;i<s1;i++)
”[s1+i]=s[sl-i-l];
/************found************/
t[si]='\0,;
程序
函數(shù)fun日勺功能是:將兩個兩位數(shù)日勺正整數(shù)a,b合并成一種整數(shù)放在C中。合
并的方式是:將a數(shù)日勺十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)日勺十位和
個位數(shù)依次放在c數(shù)日勺百位和個位上。
例如:a=45,b=如時,調(diào)用該函數(shù)后,c=4152.
注意:部分源程序存在文獻(xiàn)PR0G1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中日勺數(shù)據(jù)不得修
改。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填
入你編寫的若干語句。
答案:B:STYPEFILEfp
M:for(i=0;i<si;i++)t[2*s1]=0;
P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2.填空
給定程序的功能是:從鍵盤輸入若干行文本(每行不超過80個字符),寫到
文獻(xiàn)myfile4.txt中用作為字符串輸入結(jié)束日勺標(biāo)識。然后將文獻(xiàn)的內(nèi)容讀出
顯示在屏幕上。文獻(xiàn)的讀寫分別有自定義函數(shù)ReadText和WriteText實
現(xiàn)。
請在程序時下劃線處填入對歐I的內(nèi)容并把下劃線刪除,是程序得出對時
日勺成果。
注意:源程序寄存在考生文獻(xiàn)夾下的BLANK1.c中
不得增行或刪行,也不得更改程序的構(gòu)造!
main()
{FILE*fp;
if((fp=fopen("myfile4.txt";'wu))==NULL)
{printf("openfail!!\nM);exit(0);}
WriteText(fp);
fclose(fp);
if((fp=fopen(Hmyfile4.txt",Mrn))==NULL)
{printf(Mopenfai1!!\nH);exit(0);}
ReadText(fp);
fc1ose(fp);
)
/**********found**********/
voidWriteText(FILE__1)
{charstr[81];
printf("\nEnterstringwith_1toend:\n");
gets(str);
whi1e(strcmp(str,H-1*')!=0){
/**********砧und**********/
fputs(___2,fw);fputs("\nM,fw);
gets(str);
}
)
voidReadText(FILE*fr)
{charstr[81];
printf(n\nReadfileandoutputtoscreen:\nH);
fgets(str,8l,fr);
while(!feof(fr)){
/**********fQund**********/
printf("%sn,—3—);
fgets(str,81,fr);
)
}
修改
給定程序MODI1.c中函數(shù)fun的功能是:從低位開始取出長整形變量s中的奇數(shù)
位上的I數(shù),依次構(gòu)成一種新數(shù)放在t中,高位仍放在高位,低位仍放在低位。
例如:當(dāng)s中時數(shù)為:7654321時,t中時數(shù)為:7531
請改正程序中的錯誤,使他能得出對的的I成果。
注意:不要改動main函數(shù),不能增行或刪行,也不得更改程序的構(gòu)造!
#inc1ude<stdio.h>
/************向und************/
voidfun(longs,1ongt)
{longs1=10;
*t=s%10;
while(s>0)
{s=s/100;
*t=s%10*s1+*t;
/************found************/
osl=Sl*l()();
)
)
程序
函數(shù)fun的功能是:將兩個兩位數(shù)的正整數(shù)a,b合并成一種整數(shù)放在c中。合并
於J方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的J千位和十位上,b數(shù)/、J十位和個
位數(shù)依次放在c數(shù)的百位和個位上。
例如:a=45,b=12時,調(diào)用該函數(shù)后,c=1524.
注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得
修改。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。
2、B:*fwstrstr
M:1ong*tsi=s1*10;
P:*c=(b/10)*1000+(a%10)*l00+(b%10)*10+(a/10);
3.填空
給定程序中,函數(shù)funH勺功能是:將自然數(shù)1-10以及它們H勺平方根寫到
名為myfile3txt的文本文檔中,然后再次序讀出顯示在屏幕上。
請在程序的下劃線處填入對時的內(nèi)容并把下劃線刪除,是程序得出對的
的成果。
注意:源程序寄存在考生文獻(xiàn)夾下的JBLANKl.c中
不得增行或刪行,也不得更改程序的構(gòu)造!
intfun(char*fname)
{FILE*fP;inti,n;floatx;
if((fp=fopen(fname,"wM))==NULL)return0;
for(i=l;i<=10;i++)
/**********f0und**********/
fprintf(1,"%d%f\n“,i,sqrt((double)i));
printf(n\nSucceed!!\nH);
/**********found**********/
―2—;
printf(n\nThedatainfile:\n");
/**********Sund**********/
M
if((fp=fopen(_3,”r))==NULL)
return0;
fscanf(fp,"%d%f',&n,&x);
whi1e(!feof(fp))
(printf(n%d%f\n,n,x);fscanf(fp,"%d%f,&n,&x);}
fc1ose(fp);
return1;
)
修改
給定程序MODI1.c中fun函數(shù)的功能是:將n個無序整數(shù)從小到大排序。
fun(intn,int*a)
{inti,j,p,t;
for(j=0;jvn-1;j++)
{p=j;
/************foufid************/
for(i=j+l;i<n-1;i++)
if(a[p]>a[i])
/************found************/
t=i;
if(P!=j)
(t=a[j];a[j]=a[p];a[p]=t;}
)
)
程序
函數(shù)fun曰勺功能是:將兩個兩位數(shù)的正整數(shù)a,b合并成一種整數(shù)放在c中。合并
的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個
位數(shù)依次放在c數(shù)的百位和個位上。
例如:a=45,b=12時,調(diào)用該函數(shù)后,c=2514
注意:部分源程序存在文獻(xiàn)PR0G1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修改。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填
入你編寫的若干語句。
3、B:fpfc1ose(fp)fname
M:i<np=i
P:*c=(b%10)*l000+(a%10)*100+(b/10)*10+(a/10);
4.填空
給定程序的功能是:調(diào)用函數(shù)fun將指定源文獻(xiàn)中日勺內(nèi)容復(fù)制到指定的目的文獻(xiàn)
中,復(fù)制成功時函數(shù)返回值為1,失敗時返回值為0,在復(fù)制的過程中,把復(fù)制的
內(nèi)容輸出到終端屏幕。主函數(shù)中源文獻(xiàn)名放在變量sfname中,目的文獻(xiàn)名放在
變量tfname中
intfun(char*source,char*target)
{FILEcharch;
/**********found**********/
if((fs=fopen(source,1))==NULL)
return0;
if((ft=fopen(target,Mw"))==NULL)
return0;
printf("\nThedatainfile:\nH);
ch=fgetc(fs);
/*********und**********I
while(!feof(_2))
{putchar(ch);
/******und**********/
fputc(ch,___3);
ch=fgetc(fs);
fc1ose(fs);fclose(ft);
printf("\n\n");
return1;
)
修改
給定程序MODH.C中函數(shù)fun的功能是:將長整形數(shù)中每一位上為偶數(shù)的數(shù)依
次取出,構(gòu)成一種新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如:當(dāng)s中的數(shù)為:87653142時,t中H勺數(shù)為:8642
voidfun(longs,long*t)
{intd;
longsl=1;
=0;
while(s>0)
{d=s%10;
/************found***/********/
if(d%2=0)
{*t=d*s1+*t;
si*=10;
/************砧und************/
s\=10;
}
)
程序
函數(shù)funin功能是:將兩個兩位數(shù)的正整數(shù)a,b合并成一種整數(shù)放在c中。合
并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位
和個位數(shù)依次放在c數(shù)的百位和個位上。
例如:a=45,b=12時,調(diào)用該函數(shù)后,c=5142
注意:部分源程序存在文獻(xiàn)PROG1.C中。數(shù)據(jù)文獻(xiàn)IN.DAT中的數(shù)據(jù)不得修
改。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。
4、B:"r"fsft
M:(d%2=0)s/=10;
P:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
5.填空
給定程序中已建立一種帶有頭結(jié)點的單向鏈表,鏈表中的各節(jié)點按結(jié)點數(shù)據(jù)域中
的數(shù)據(jù)遞增有序鏈表。函數(shù)fun的功能是:把形參x日勺值放入一種新結(jié)點并插
入到鏈表中,插入后結(jié)點數(shù)據(jù)域時值仍保持遞增有序。
typedefstruct1ist
(intdata;
structlist*next;
}SLIST;
voidfun(SLIST*h,intx)
{SLIST*p,*q,*s;
s=(SLIST*)malloc(sizeof(SLIST));
/**********found**********/
s—>data=___1;
q=h;
p=h->next;
whi1e(p!=NULL&&x>p->data){
/**********found**********/
q=2;
p=P->next;
)
s->next=p;
/********d**********/
q—>next=___3____;
)
修改
給定程序MOD".C中函數(shù)fun的功能是:計算正整數(shù)num的各位上的數(shù)字之
積。例如,若輸入:252,則輸入應(yīng)當(dāng)是:20.若輸入:202,則輸出應(yīng)當(dāng)是:0.
longfun(longnum)
(
/************found************/
1ongk;
do
{k*=num%10;
/*******ound************/
num\=10;
}whi1e(num);
return(k);
)
請編寫一種函數(shù)fun,它的功能是:它的功能是:計算n門課程的平均分,計算成果
作為函數(shù)值返回。
例如:若有5門課程『、J成績是:90.5,72,80,61.5,55
則函數(shù)的值為:71.80
5、B:xps
M:1ongk=1;num/=10;
P:inti;floatave=0.0;for(i=0;i<n;i++)ave=ave
+a[i];ave=ave/n;returnave;
6.填空
給定程序中已建立一種帶有頭結(jié)點由1單向鏈表,在main函數(shù)中將多次調(diào)
用fun函數(shù),沒調(diào)用一次fun函數(shù),輸出鏈表尾部結(jié)點中的數(shù)據(jù),并釋放該節(jié)
點,是鏈表縮短。
voidfun(SLIST*p)
{SLIST*t,*s;
t=p—>next;s=p;
while(t->next!=NULL)
{s=t;
/**********f0und**********/
t=t->1;
}
/********und**********/
printf(“%d",—2—);
s—>next=NULL;
/**********found**********/
free(3);
)
修改
給定程序M0DI1.C中函數(shù)fun的功能是:將字符串中的字符按逆序輸
出,單補變化字符串中日勺內(nèi)容。
例如,若字符串味abed,則應(yīng)輸出:deba
/************f0口nd************/
fun(chara)
{if(*a)
{fun(a+1);
/************Cund************/
printf(M%cH*a);
)
)
程序
請編寫一種函數(shù)fun,他日勺功能是:比較兩個字符串的長度(不得調(diào)用c語
言提供日勺求字符串長度日勺函數(shù)),函數(shù)返回較長的字符串。若兩個字符串長度
相似,則返回第一種字符串。
例如,輸入beijing<CR>shanghai<CR>(<CR>為回車鍵),函數(shù)將
返回shanghai
6、B:nextt->datat
M:fun(char*a)printf(M%c",*a);
P:inti;char*p=s,*q=t;
for(i=0;*p&&*q;i++)
(
P++;q++;
)
if(*p==0&&*q==0)returns;
if(*p)returns;elsereturnt;
7.填空
給定程序中建立一種帶有頭結(jié)點的單向鏈表,鏈表中日勺各節(jié)點按數(shù)據(jù)域
遞增有序連接。函數(shù)fun日勺功能是:刪除鏈表中數(shù)據(jù)域值相似日勺結(jié)點,使之只
保留一種
typedefstructlist
{intdata;
structlist*next;
}SLIST;
voidfun(SLIST*h)
SLIST*p,*q;
p=h->next;
if(p!=NULL)
{q=p->next;
while(q!=NULL)
{if(p->data==q->data)
{p—>next=q—>next;
/**********fbund**********/
free(1);
/**********found**********/
q=p—>一2;
)
else
{P=q;
/**********rund**********/
Q=q->一3一;
)
}
}
}
修改
給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對數(shù)組中的n個元素按
從小到大的次序進(jìn)行排序。
voidfun(inta[],intn)
{inti,j,t,p;
for(j=0;j<n—1;j++){
/************Cund************/
P=j
for(i=j:i<n;i++)
if(ali]<a[p])
/************found************/
p=j;
t=a[p];a[p]=a[j];a[j]=t;
)
)
請編寫一種函數(shù)fun,它的功能是:求出1到m之間(含m)能被7或11
整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。例如,若傳3送給m
的之位50,則程序輸出:7111421221833354244
49
答案:
7、B:qnextnext
M:P=j;p=i;
P:inti;*n=0;
fbr(i=7;i<=m;i++)
if((i%7==0)|I(i%11==0))a[(*n)++]=i;
8.填空
給定程序中,函數(shù)fun的Jgongn是:在帶有頭結(jié)點的I單向鏈表中,查找
數(shù)據(jù)域中值為ch的結(jié)點。找到后通過函數(shù)值返回改結(jié)點在鏈表中所處的次序
號:若不存在值為ch的結(jié)點,函數(shù)返回0值
typedefstruct1ist
{intdata;
structlist*next;
}SLIST;
SL1ST*creat1ist(char*);
voidoutlist(SLIST*);
intfun(SLIST*h,charch)
{SLIST*p;intn=0;
p=h->next;
/*********found**********I
while(p!=___1)
n++;
/**********found**********/
if(p->data==ch)return2___;
eIsep=p->next;
}
return0;
)
修改
給定程序MODILC中函數(shù)fi】n的功能是:刪除p所指字符串中的所有
空白字符(包括制表符,回車符及換行符)
輸入字符串是用“#"結(jié)束輸入。
fun(char*p)
{inti,t;charc[801;
/************found************/
For(i=0,t=0;pfi];i++)
if(!isspace(*(p+i)))c[t++]=p[i];
/************found************/
c[U="\0";
strcpy(p,c);
)
程序
請編寫一種函數(shù)fun,它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的
字母轉(zhuǎn)換成大寫(若該位置上不是字母,則不轉(zhuǎn)換)
例如:若輸入“abc4EFg",則應(yīng)輸出“aBc4Efg二
答案:
8、B:NULLnhead,ch
M:forc[t]='\0
P:inti;for(i=1;i<str1en(*ss);i+=2){if(ss[i]>=
'a'&&ss[i]<=?/)ss[i]-=32;
9.填空
給定程序中,函數(shù)fun日勺功能是:記錄出帶有頭結(jié)點的單向鏈表中的I個數(shù),
寄存在形參n所指的存儲單元中。
voidfun(SLIST*h,int*n)
{SLIST*p;
/**********found**********/
―1二0;
p=h->next;
while(p)
{(*n)++;
/**********found**********/
P=p->____2;
}
)
main()
{SLIST*head;
inta[N]={12,87,45,32,91,16,20,48),num;
head=creat1ist(a);outlist(head);
/*********und**********/
fun(___3___,&num);
printf(n\nnumber=%d\nM,num);
)
修改
給定程序MODIl.C中函數(shù)fun的功能是:求出s所指字符串中最終一
次出現(xiàn)日勺t所指子字符串日勺地址,通過函數(shù)返回值返回,在主函數(shù)中輸出從此地
址開始日勺字符串;若未找到,則函數(shù)值為NULL
例如:當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中的內(nèi)容為例如時,輸出的成果
應(yīng)是:abcdx
當(dāng)字符串中的內(nèi)容為“abcdefabcdx”t中區(qū)I內(nèi)容為“abd”時,則程序輸出未找
到信息notbefound
char*fun(char*s,char*t)
char*p,*r,*a;
/************fQ血d************/
a=Nul1;
whi1e(*s)
{P=s;r=t;
while(*r)
/************found************/
if(r==p)
{r++;p++;}
elsebreak;
if(*r=='\0')a=s;
s++;
)
returna;
)
程序
函數(shù)fun的功能是:將s所指字符串中除了下標(biāo)問為偶數(shù),同步ASCII值也為
偶數(shù)的字符外,其他的所有刪除伴中剩余字符所形成的一種新串放在t所指的
數(shù)組中
例如,若s所指的字符串中日勺內(nèi)容為“ABCDEFG123456",其中字符A的IASCII
碼味奇數(shù),因此應(yīng)當(dāng)刪除,其中字符b日勺ASCII碼值為偶數(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==O)t[j++]=s[i]:
t[j]=0;
10.填空
給定程序中,函數(shù)fun的功能是:計算出帶有頭結(jié)點的單向鏈表中各結(jié)點數(shù)據(jù)域
中值之和作為函數(shù)的返回值。
intfun(SLIST*h)
(SLIST*p:ints=0:
p=h->next;
while(p)
(
/**********found**********/
s+=p->1;
/**********砧und**********/
P=P->____2____
)
returns;
)
修改
給定程序M0DI1.C中函數(shù)fun的功能是:將s所指字符串中出現(xiàn)的與11所指字
符串相似的字串所有替代成12所指字符串,所形成的新串放在w所指口勺數(shù)組中,
在此處,規(guī)定t1和t2所指字符串的長度相似。
intfun(char*s,char*tl,char*t2,char*w)
(
inti;char*p,*r,*a;
strcpy(w,s);
whi1e(*w)
{P=w;r=tl;
/************found************/
whi1e(r)
if(*r==*p){r++;p++;}
elsebreak;
if(*r=='O')
aw;rt2;
while(*r){
/************Cund************/
*a=*r;a++;r++
)
w+=strien(t2);
)
e1sew++;
)
)
程序
函數(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<str1en(s);i+=2)t[j++]
=slij;t[j]=0;
11.填空
人員記錄有編號和出生年月日構(gòu)成,N名人員的數(shù)據(jù)已在主函數(shù)中存入構(gòu)
造體數(shù)組std中,且編號唯一。函數(shù)fun的功能是:找出數(shù)據(jù)中H勺編號為空串o
/**********found**********/
1fun(STU*std,char*num)
{inti;STUa={”",9999,99,99};
for(i=0;i<N;i++)
/**********found**********/
if(strcmp(___2___,num)==0)
/**********found**********/
return(__3一);
returna;
}
修改
給定程序MODIl.C中函數(shù)fun的功能是:從s所指字符串中,找出與
t所指字符串相似的字串的個數(shù)作為函數(shù)返回值
例如,當(dāng)s所指字符串中的內(nèi)容為:“abcdabfab",t所指字符串的內(nèi)容為:
“ab”則函數(shù)返回整數(shù)3
intfun(char*s,char*t)
(
intn;char*p,*r;
0;
while(*s)
{p=s;r=t;
while(*r)
if(*i?二二*p){
/***********und************/
r++;p++
}
elsebreak:
/***********f0und************/
if(r=='VO1)
n++;
s++;
)
returnn;
)
函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中
剩余字符形成一種新串放在t所指的數(shù)組中
例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345",其中字符B的
ASCII碼值為偶數(shù).....
答案:
11、B:STUstd[i].numstd[i]
M:p++;*r==>\0';
P:inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2)t[j++]=
s[il;t[jl=0;
12.填空
人員的記錄由編號和出生年月日構(gòu)成N名組員的數(shù)據(jù)已在主函數(shù)中存入構(gòu)造體
數(shù)組sid中,函數(shù)fun的功能是:找出指定出生年份的人員,將其數(shù)據(jù)放在形參k
所指的數(shù)組中,由主函數(shù)輸出另事有函數(shù)值返回滿足指定條件的人數(shù)
intfun(STU*std,STU*k,intyear)
{inti,n=O;
for(i=0;i<N;i++)
/**********found**********/
if(1==year)
/**********found**********/
kLn++]=_2___;
/**********found**********/
return(3);
)
修改
給定程序MODI12oC的功能是:讀入一種整數(shù)k(2《k《1000),打印她的所有
因子
例如2310,則應(yīng)輸出2,3,5,7,11
/************f0und************/
IsPrime(intn);
{inti,m;
m=1;
for(i=2;i<n;i—F)
/************fQUnd************/
if!(n%i)
{m=0;break;}
return(m);
)
設(shè)計
己知學(xué)生的記錄有學(xué)號成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已經(jīng)存入構(gòu)造體數(shù)組a中。編
寫函數(shù)fun,函數(shù)功能是:找出成績最高的學(xué)生記錄,通過形參指針傳回主函數(shù)
(規(guī)定只有一種最高分)。已給出函數(shù)的首部,請完畢該函數(shù)
12、B:std[i].yearstd[i]nM:分號去掉if(!(n%i))
P:inti,max=a[OJ.s,j=0;for(i=1;i<N;i++)i
f(max<a[i].s){j=i;max=a[i].s;}*s=a[j];
13.填空
給定程序通過定義并賦初值的方式,運用構(gòu)造體變量存儲了一名學(xué)生的學(xué)號,姓
名和3們課程的成績,函數(shù)fun的功能是將該學(xué)生的各科成績都乘以一種系數(shù)a
voidshow(STUtt)
{inti;
printf(H%d%s:U,tt.num,tt.name);
for(i=0;i<3;i++)
printf("%5.1f",tt.score[i]);
printf
)
/**********fbund**********/
voidmodify(1___*ss,floata)
{inti;
for(i=0;i<3;i++)
/**********found**********/
ss->___2___*=a;
)
main()
{STUstd={1,nZhanghuaH,76.5,78.0,82.0);
floata;
printf(M\nTheoriginalnumberandnameandscores:\n");
show(std);
printf(n\nInputanumber:*');scanf(n%f\&a);
/**********found**********/
modify(3___,a);
printf("\nAresu1tofmodifying:\n");
show(std);
)
修改
給定程序MODLC中函數(shù)fun的功能是:求k!(k<13),所求階乘時值作為函數(shù)值
返回,例如若(k=10,則應(yīng)輸出:3628800
1ongfun(intk)
(
/************found************/
ifk>0
return(k*fun(k-1));
/**********ound************/
elseif(k=0)
return1L;
)
設(shè)計
程序定義了N*N時二維數(shù)組。并在主函數(shù)中自動賦值,請編寫函數(shù)fun,函數(shù)的功
能是:使數(shù)組左下三角元素時值乘以n
例如:若n日勺值為3,a數(shù)組日勺值為
13、B:STUscore[i]&stdM:()k==0P:inti,
j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j1
*=n;
14.填空
給定程序中,函數(shù)fun的功能是:將形參所指構(gòu)造體數(shù)組中的三個元素按num組
員進(jìn)行升序排列
/**********found**********/
voidfun(PERSON_1—)
(
/**********found**********/
2temp;
if(stdL0].num>std[1].num)
{temp=std[0];std[O]=std[l];std[1]=temp;}
if(std[0].num>std[2].num)
{temp=std[0];stdl0]=std[2];std[2]=temp;}
if(std[1].num>std[2].num)
(temp=std[l];std[l]=std[2];std[2]=temp;}
)
main()
(PERSONstdf]={5,MZhanghu",2,"WangLi",6,nLinMin'1};
inti;
/*********found**********/
fun(_3);
printf("\nTheresultis:\n");
for(i=0;iv3;i++)
printf(u%d,%s\nn,std[i].num,std[);
)
修改
給定程序MODIl.c中函數(shù)fun的功能是:將m個字符串連接起來構(gòu)成一種新
串,放入pt所指存儲區(qū)中
intfun(charstr[If10],intm,char*pt)
{
/************於und************/
Intk,q,i;
for(k=0;k<m;k++)
{q=strlen(str[k]);
for(i=0;i<q;i++)
/************found************/
pt[i]=str[k,i];
pt+=q;
pt[0]=0;
}
)
設(shè)計
程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動賦值,請編寫函數(shù)fun,函數(shù)的
功能是:使數(shù)組左下三角元素中日勺值所有值0
14、B:*stdPERSONstdM:intstr[k][i]P:inti,j;fo
r(i=0;i<N;i++)for(j=0;j<=i;j++)a[ij[j]=0;
15.填空
給定程序中,函數(shù)fun的功能是:將形參std所指構(gòu)造體數(shù)組中年齡最大者的數(shù)據(jù)
作為函數(shù)值返回,并在主函數(shù)中輸出
STDfun(STDstd[],intn)
{STDmax;inti;
/**********found**********/
max=1;
for(i=l;iVn;i++)
/**********^Qund**********/
if(max.age<___2)max=std[i];
returnmax;
)
main()
{STDstd[5]={"aaau,l7;'bbb';16,"cccH,18,Mddd",17,
eee",15};
STDmax;
max=fun(std,5);
printf(u\nTheresult:\n");
I******und**********/
printf("\nName:%s,Age:%d\nH,3___,max.age);
)
修改
給定程序MODH.c中函數(shù)fun的功能是:實現(xiàn)兩個整數(shù)的互換
例如給a和b分別輸入60和65,輸出為:a=65b=60
/**********fQund**********/
voidfun(inta,b)
(intt;
/**********found**********/
t=b;b=a;a=t;
}
設(shè)計
請編制一種函數(shù)fun,tt指向一種M行N列H勺二維數(shù)組,求二維數(shù)組每列中最小
元素,并以此放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予
15B:*stdstd[i].agemax.nameM:int*bt=*b;*b=
"a;*a=i;P:inti,j,min,k;fbr(i=0;i<N;
i++){min=tt[O][i];k=0;for(j=l;j<M;j++)
if(min>tt[j][i]){min=tt[j][i];k=j;}pplij=
tt[k][i];}
16.填空
程序通過定義并賦初值的方式,運用構(gòu)造體變量存儲了一名學(xué)生的信息,函數(shù)fun
的功能是輸出這位學(xué)生的信息
/**********fQund**********/
voidshow(STU___1)
{inti;
printf("\n%d%s%c%d-%d—%d",tt.num,tt.name,tt.sex,
tt.birthday.year,tt.birthday.month,tt.birthda
y.day);
for(i=0;iv3;i++)
/**********found**********/
printf("%5.1fH,2—);
n
printf(\n");
)
main()
{STUstd={l;,ZhanghuaM;M/,1961,10,8,76.5,78.0,82.0};
printf(H\nAstudentdata:\nH);
/**********found**********/
show(3);
)
修改
給定程序MODH.c中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次大數(shù),并把最
大數(shù)和a[0]中時數(shù)對調(diào),次最大數(shù)和a[1]中的書對調(diào)
intfun(int*a,intn)
{inti,m,t,k;
for(i=0;i<2;i++){
/**********found**********/
m=0;
for(k=i+1;k<n;k++)
/**********found**********/
if(a[k]>a[m])k=m;
t=a[i];a[i]=a[m];a[m]=t;
}
)
設(shè)計
請編寫一種函數(shù)unsignedfun,w是一種大與10的無符號整數(shù),若w是n為日勺整
數(shù),函數(shù)求出w的低n?l位時數(shù)作為函數(shù)值返回
例如w為5923則函數(shù)返回923;
16B:tttt.score[i]stdM:m=im=k
P:if(w>l0000)w%=10000;eIseif(w>1000)w%=
1000;elseif(w>100)w%=100;elseif(w>10)w%=10;return
w;
17.填空
給定程序中,函數(shù)fun的功能是:對形參ss所指字符串?dāng)?shù)組中日勺M個字符串按長
度由短到長進(jìn)行排序。Ss所指字符串?dāng)?shù)組中共有M個字符串,且串長《N
voidfun(char(*ss)[N])
{inti,j,k,n[MJ;chart[NJ;
for(i=0;i<M;i++)n[i]=strlen(ss[i]);
for(i=0;i<M—1;i++)
k=i;
/**********Sund**********/
for(j=1;j<M;j++)
/**********found**********/
if(n[k]>n[j])2;
if(k!=i)
{strcpy(t,ss[i]);
strcpy(ss[i],ss[k]);
/**********found**********/
strcpy(ss[k],__3___);
n[k]=n[i];
}
I
}
給定程序MODI。C中函數(shù)fun日勺功能是:判斷ch中字符與否與str所指串中
的某個字符相似;若相似,什么也不做,若不同樣,則將其插在串的最終
#inc1ude<string.h>
/*****und**********/
voidfun(charstr,charch)
{while(*str&&*str!=ch)str++;
/**********fbund**********/
if(*str==ch)
{str[0]=ch;
/**********found**********/
str[11=O;
)
)
設(shè)計
請編制一種函數(shù)fun,函數(shù)功能是吧s所指字符串中的內(nèi)容逆值
17^B:i+1k=jtM:char*str!=0
P:charb[N];inti=0,j;for(j=strlen(s)-1;j>=
0;j--)b[i++]=s[j];b[i]=0;strcpy(s,b);
18.填空
給定程序中,函數(shù)fun的功能是:求出形參ss所指日勺字符串?dāng)?shù)組中最長字符
串的長度,其他字符串左邊用字符*補齊,使其與最長的字符串等長,字符串?dāng)?shù)組
中共有M個字符串
voidfun(char(*ss)[N])
{inti,j,k=0,n,m>len;
for(i=0;i<M;i++)
{len=strlen(ss[i]);
if(i==0)n=len;
if(len>n){
/**********fbund**********/
n=1en;___1___=i;
)
)
for(i=0;i<M;i++)
if(i!=k)
{m=n;
1en=strlen(ss[ij);
/**********f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家居設(shè)計與生活品質(zhì)的提升
- 現(xiàn)代辦公環(huán)境中營銷自動化策略的實施
- Unit2 An Accident(說課稿)-2024-2025學(xué)年北師大版(三起)英語六年級上冊
- 3-1《百合花》(說課稿)高一語文同步高效課堂(統(tǒng)編版 必修上冊)
- 2023二年級數(shù)學(xué)上冊 七 分一分與除法第5課時 小熊開店說課稿 北師大版
- 3 天窗(說課稿)2023-2024學(xué)年部編版語文四年級下冊
- 《8和9的加、減法的應(yīng)用》(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- Unit 1 Art Using language 2 說課稿 -2023-2024學(xué)年高中英語人教版(2019)選擇性必修第三冊
- Unit 5 Colours Lesson 1(說課稿)-2024-2025學(xué)年人教新起點版英語一年級上冊
- 2023四年級數(shù)學(xué)上冊 1 大數(shù)的認(rèn)識第4課時 億以內(nèi)數(shù)的大小比較說課稿 新人教版
- 蘇教版四年級數(shù)學(xué)下冊第三單元第二課時《常見的數(shù)量關(guān)系》課件
- 2025年中考物理總復(fù)習(xí)《壓強》專項測試卷含答案
- 《智能傳感器技術(shù)》課件
- SaaS服務(wù)具體應(yīng)用合同范本2024版版
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 政治試題(含答案)
- 殘疾人掛靠合作合同協(xié)議書范本
- 浙江省臺州市2021-2022學(xué)年高一上學(xué)期期末質(zhì)量評估政治試題 含解析
- 寧夏“8·19”較大爆燃事故調(diào)查報告
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 高中英語選擇性必修三 Unit 2 Healthy Lifestyle Section B Learning about Language(教案)
- 煤礦瓦斯抽采達(dá)標(biāo)暫行規(guī)定
評論
0/150
提交評論