- 相關(guān)推薦
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)題庫(1~10套)
考試頻道小編收集整理計(jì)算機(jī)等級(jí)考試資料,免費(fèi)提供給大家交流參考!
第一套
1. 程序填空
程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲(chǔ)了若干個(gè)學(xué)生的學(xué)號(hào)、姓名和三門課的成績(jī)。函數(shù)fun的功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,按照姓名的字典序(從小到大排序)。請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。
第一處 struct student t;
第二處 for(i=0;i
第三處 if(strcmp(a[i].name,a[j].name)>0)
2 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:在p所指字符串中找出ASCII碼值最大的字符,將其放在第一個(gè)位置上;并將該字符前的原字符向上順序移動(dòng)。
/**found**/
q=p+i;
/**found**/
while(q>p)
3程序設(shè)計(jì)
學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,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ù)值返回。
int fun(STREC *a,STREC *b,int l,int h)
{int i,j=0;
for(i=0;i
if((a[i].s>=1&&a[i].s<=h)
b[j++]=a[i];
return j;
}
第二套
1. 程序填空
給定程序中已建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按數(shù)據(jù)域遞增有序連接。函數(shù)fun的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保留一個(gè)。
第一處 free(q);
第二處 q=p->next;
第三處 q=q->next;
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:用選擇法對(duì)數(shù)組中的n各元素按從小到大的順序進(jìn)行排序。
/**found**/
p=j;
/**found**/
p=i;
3. 程序設(shè)計(jì)
請(qǐng)編寫一個(gè)fun函數(shù),它的功能是:求出1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。
void fun(int m,int *a,int *n)
{
int i;
*n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
}
第三套
1. 程序填空
函數(shù)fun的功能是:逆置數(shù)組元素是的值。例如:若a所指數(shù)組中的數(shù)據(jù)依次為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、7、6、5、4、3、2、1。形參n給出數(shù)組中數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
第一處 for(i=0;i
第二處 a[i]=a[n-1-i];
第三處 a[n-i-1]=t;
2程序修改
給定程序MODI1.C中函數(shù)fun的功能是:將一個(gè)由八進(jìn)制數(shù)字字符串組成的字符串轉(zhuǎn)換為與其面值相等的十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含5位八進(jìn)制數(shù)字字符。
/**found**/
n=*p-‘0’;
/**found**/
n=n*8+*p-‘0’;
3. 程序設(shè)計(jì)
學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫了函數(shù)fun,它的功能是:函數(shù)返回指定學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)生號(hào)在主函數(shù)中輸入,若沒有找到指定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。(用于字符串比較的函數(shù)是strcmp)。
STREC fun(STREC*a,char *b)
{
STREC c;
Int i;
c.num[0]=’\0’;
c.s=-1;
for(i=0;i
if(strcmp(a[i].num,b)==0)
{strcpy(c.num,a[i].num);
c.s=a[i].s;break;}
return c;
}
第四套
1. 程序填空
給定程序中,函數(shù)fun的功能是:在帶有頭結(jié)點(diǎn)的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點(diǎn)。找到后通過函數(shù)值返回該結(jié)點(diǎn)在鏈表中所處的順序號(hào):若不存在值為ch的結(jié)點(diǎn),函數(shù)值返回0.
第一處 while(p!=0)
第二處if(p->data==ch)return n;
第三處 k=fun(head,ch);
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:刪除p所指字符串的所有空白字符(包括制表符、回車符及換行符)。輸入字符串時(shí)用‘#’結(jié)束輸入。
/**found**/
for(i=0,t=0;p[i];i++)
/**found**/
c[t]=’\0’;
3. 程序設(shè)計(jì)
請(qǐng)編寫一個(gè)函數(shù)fun,將ss所指字符串中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。
void fun(char *ss)
{
int i;
for(i=1;i
{if(ss[i]>=’a’&&ss[i]<=’z’)
ss[i]-=32;
}
}
第五套
1. 程序填空
給定程序中,函數(shù)fun的功能是:計(jì)算下式前n項(xiàng)的和作為函數(shù)值返回。例如:當(dāng)形參n的值為10 的時(shí),函數(shù)返回:9.6125588。
第一處 s=0;
第二處 for(i=1;i<=n;i++)
第三處 s=s+(2.0*i-1)*(2.0*i+1)/(t*t);
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:統(tǒng)計(jì)substr所指字符串在str所指字符串中出現(xiàn)伯次數(shù)。
/**found**/
for(i=0;str[i];i++)
/**found**/
if(substr[k+1]==’\0’)
3. 程序設(shè)計(jì)
請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:根據(jù)以下公式求JI的值(要求滿足精度0.0005,即某項(xiàng)小于0.0005時(shí)停止送代):程序運(yùn)行后,如果輸入精度為0.0005,則程序輸出為3.14…。
double fun(double eps)
{ double s=1,t=1./3;
int n=1;
while(t>=eps)
{s+=t;n++;t=t*n/(2.0*n+1)
;}
return(s*2.0);
}
第六套
1. 程序填空
給定程序中,函數(shù)fun的功能是:將形參s所指定字符串中所有的字母字符順序前移,其他字母順序后移,處理后字符串的首地址作為函數(shù)值返回。
第一處 t[j]=s[i];j++;
第二處 for(i=0;i
t[j+i]=p[i];
第三處 t[j+k]=0;
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換成t2所指定字符串,所形成的新串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長(zhǎng)度相同。
/**found**/
while(*w)
/**found**/
if(*r==*p)
3. 程序設(shè)計(jì)
函數(shù)fun的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指定的數(shù)組中。
void fun(char *s,char t[])
{ int i,j=0;
for(i=0;i
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
第七套
1. 程序填空
程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了學(xué)生的學(xué)號(hào)、姓名和三門課的成績(jī)。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并把a(bǔ)中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。
第一處 struct student *
fun(struct student*a)
第二處 for(i=0;i<3;i++)
a->score[i]+=1;
第三處 return a;
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:從N個(gè)字符串中找出最長(zhǎng)的那個(gè)串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放在一個(gè)字符串?dāng)?shù)組中。
/**found**/
char *fun(char (*sq)[M])
/**found**/
return sp;
3. 程序設(shè)計(jì)
函數(shù)fun的功能是:將a、b中的兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上。
#include
void fun(int a,int b,long *c)
{ *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
}
第八套
1. 程序填空
函數(shù)fun的功能是:將形參觀者工所指數(shù)組中的前半部分元素中的值和后半部分元素中的值對(duì)換。形參n中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),若n為奇書,則中間元素不動(dòng)。
第一處 p=(n%2==0)?n/2:n/2+1;
第二處 a[i]=a[p+i];
第三處 a[p+i]=t;
2. 程序修改
給定程序MODI1.C中函數(shù)fun的功能是:把主函數(shù)中輸入的三個(gè)數(shù),最大的放在a中,最小的放在c中,中間的放在b中。
/**found**/
float k;
/**found**/
if(*a<*c)
3. 程序設(shè)計(jì)
學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫了函數(shù)fun,它的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。
int fun(STREC *a,STREC *b)
{
int i,max=a[0].s,n=0;
【3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)題庫1~10套】相關(guān)文章:
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語言上機(jī)題庫10-28
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)精選訓(xùn)練06-29
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)題庫(20~30套)08-08
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)題庫(10~20套)06-16
2012年3月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言上機(jī)題庫(30~40套)10-29
2015計(jì)算機(jī)二級(jí)c語言上機(jī)題庫06-19