計算機二級2012年答案.doc_第1頁
計算機二級2012年答案.doc_第2頁
計算機二級2012年答案.doc_第3頁
計算機二級2012年答案.doc_第4頁
計算機二級2012年答案.doc_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

a與b合并成c1填空 STYPE FILEfp 改錯for(i=0;i=sl;i+)tsl*2=0;將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。4152*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;2填空 truct student a.scorei改錯 if(p=n) return -1; ai=ai+1;將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上。1524*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;3填空 fp fclose(fp) fname改錯 for(i=j+1;iscorei a改錯 char* fun(char (*sq)M) return sp;將a數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的十位和千位上。2415*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;整除7填空 q next next改錯 p=j; p=i;求出1到m之內(nèi)(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中。int i,j=0; *n=0;for(i=1;i=m;i+)if(i%7=0|i%11=0) aj+=i;(*n)+;24填空 si 9 *t=n改錯 t=*x; *x=y; return(t);求出1到1000之內(nèi)能被7或11整除,但不能同時被7和11整除的所有整數(shù)并將它們放在a所指的數(shù)組中。int i,j=0;for(i=1;i=1000;i+)if(i%7=0|i%11=0) & i%77!=0) aj+=i;*n=j; 48填空 ai ai 0改錯 y=1; d=a-i;計算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。int i; double s=0.0;for(i=1;i=n;i+)if(i%5=0|i%9=0) s+=1.0/i;return s;78填空 0 s+ sum改錯 if(k%13=0)|(k%17=0) 求n以內(nèi)(不包括n)同時能被3與7整除的所有自然數(shù)之和的平方根s。double s=0.0; int i;for(i=0;idata t改錯 void fun(char *a) printf(%c,*a);比較兩個字符串的長度,函數(shù)返回較長的字符串。char *p,*t1=t,*s1=s; int n=0,m=0;while(*s1+) n+; while(*t1+) m+;if(n=m) p=s;else p=t;return p;54填空 0 10*x n/10改錯 *t=0 if(d%2!=0)實現(xiàn)兩個字符串的連接。char *p=p1;while(*p)p+; while(*p2) *p+=*p2+; *p=0;69填空 N i i+1改錯 aai=m%k; printf(%d,aai-1);從傳入的num個字符串中找出最長的一個字符串。int i; max=a0;for(i=0;inum;i+)if(strlen(max)strlen(ai) max=ai;return max;96填空 double f1 f2改錯 char* fun(char *s,char *t) ss+; tt+;移動字符串中的內(nèi)容,把第1到第m個字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。char bN; int i,j=0;for(i=0;im;i+) bj+=wi;for(i=0;istrlen(w)-m;i+) wi=wi+m;for(j=0;jm;j+) wi+=bj;wi=0;17填空 i+1 k=j t改錯 void fun(char *str,char ch) if(*str!=ch) str1= 0;字符串中的內(nèi)容逆置。char t; int i,n;n=strlen(s)-1;for(i=0;inext; p=p-next;判斷字符串是否為回文。int i,n=0,flag=1; char *p=str;while(*p+) n+;for(i=0;in/2;i+)if(stri=strn-1-i) continue;else flag=0;break;return flag;19填空 ssi n+j 1改錯 if(*p= ) *(p-1)=toupper(*(p-1);對長度為7個字符的字符串,除首,尾字符外,將其余5個字符按ASCII碼降序排列。char t; int i,j;for(i=1;inum-2;i+)for(j=i+1;jnum-1;j+)if(sisj) t=si;si=sj;sj=t;8在帶有頭結(jié)點的單向鏈表中,查找數(shù)據(jù)域中值為ch的結(jié)點,找到后通過函數(shù)值返回該結(jié)點在鏈表中所處的順序號。填空 NULL n head,ch改錯 for(i=0,t=0;pi;i+) ct=0;將字符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫。int i; for(i=1;i=a&ssitj+1)將字符串ss中所有下標(biāo)為奇數(shù)位置上的字母轉(zhuǎn)換為大寫。int i; for(i=1;i=a&ssi=num) t=s/n;刪除一個字符串中指定下標(biāo)的字符。int i,j=0;for(i=0;iLEN;i+)if(i!=n) bj+=ai;bj=0;10填空 data next head改錯 while(*r) *a=*r;a+;r+;將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。int i,j=0,n=strlen(s);for(i=0;in;i+)if(i%2!=0) tj+=si;tj=0;11填空 STU stdi.num stdi改錯 r+; p+; if(*r=0)將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。int i,j=0,n=strlen(s);for(i=0;in;i+)if(si%2!=0) tj+=si;tj=0;60填空 si k 0改錯 while(*w) if(*r=*p)將s所指字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個新串放在t所指的數(shù)組中。int i,j=0,n=strlen(s);for(i=0;in;i+)if(si%2=0) tj+=si;tj=0;61填空 j k p改錯 while(ij) if(*a)將s所指字符串中下標(biāo)為偶數(shù)同時ASCII值為奇數(shù)的字符刪除,s中剩余的字符形成的新串放在t所指的數(shù)組中。int i,j=0,n=strlen(s);for(i=0;in;i+)if(!(i%2=0 & si%2!=0) tj+=si; tj=0;9填空 *n next head改錯 a=NULL; if(*r=*p)將s所指字符串中除了下標(biāo)為偶數(shù),同時ASCII值也為偶數(shù)的字符外,其余的全都刪除。int i,j=0,n=strlen(s);for(i=0;in;i+)if(i%2=0&si%2=0) tj+=si;tj=0;59填空 0 i+ 2.0*i改錯 void fun(char *s,char *t) t2*d=0;將s所指字符串中除了下標(biāo)為奇數(shù),同時ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除。int i,j=0,n=strlen(s);for(i=0;in;i+)if(i%2!=0 & si%2!=0) tj+=si;tj=0;22填空 j+ si=t1i j改錯for(j=i+1;j6;j+) *(pstr+i)=*(pstr+j);求出ss所指字符串中指定字符的個數(shù)。int n=0;while(*ss)if(*ss=c) n+;ss+;return n;20填空 N len *n=len改錯 t+=1.0/i; return t;統(tǒng)計一個長度為2的字符串在另一個字符串中出現(xiàn)的次數(shù)。int n=0; char *p,*r;while(*str)p=str;r=substr;while(*r)if(*r=*p)r+; p+; else break;if(*r=0) n+;str+;return n;25填空 1 sk c改錯 long s=0,t=0; t=t/10;統(tǒng)計在字符串中a到z26個字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。int i;for(i=0;i=a& *tt=z) pp*tt-a+;tt+;100填空 filename fp fp改錯 p=(NODE*)malloc(sizeof(NODE); return h;統(tǒng)計一行字符串中單詞的個數(shù)。int i,n=0;for(i=0;i=a&si=z&si+1=|si+1=0) n+; return n;平均分和結(jié)構(gòu)體5填空 x p s改錯 long k=1; num/=10;計算n門課程的平均分。float aver=0.0; int i;for(i=0;in;i+) aver+=ai; aver/=n;return aver;73填空 j 0 i+改錯 for(i=2;i=m;i+) y-=1.0/(i*i);m個人成績存放在score數(shù)組中,將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分數(shù)放在below所指的數(shù)組中。int i,k=0,aver=0;for(i=0;im;i+) aver+=scorei; aver/=m; for(i=0;im;i+)if(scoreiaver) belowk+=scorei; return k; 40填空 char chs;h=h-next;return aver/N;90填空 fp = fp改錯 n=strlen(aa); ch=aai;N名學(xué)生的成績已放入一個帶頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭結(jié)點,找出學(xué)生的最高分。double max=h-s;for(h=h-next;h-next!=NULL;h=h-next)if(h-smax) max=h-s;return max;36填空 ai aj aj改錯 switch(g) case 1: case 2: return 1;某學(xué)生的記錄由學(xué)號,8門課程成績和平均分組成,求出該學(xué)生的平均分放在記錄的ave成員中。double av=0.0; int i;for(i=0;isi; av/=N;a-ave=av;37填空 *a 2 i+1改錯 sum=0.0; if(i+1)%5=0)學(xué)生的記錄由學(xué)號和成績組成,把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。double aver=0.0; int i,j=0;for(i=0;iN;i+) aver+=ai.s; aver/=N;for(i=0;iN;i+)if(ai.ssno -name &t改錯 double fun(double a,double x0)if(fabs(x1-x0)0.00001)學(xué)生的記錄由學(xué)號和成績組成,把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。int i,j=0; double aver=0.0;for(i=0;iN;i+) aver+=ai.s;aver/=N;for(i=0;i=aver) bj+=ai; *n=j;return aver;12填空 stdi.year stdi n改錯 IsPrime(int n) if(!(n%i)已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,找出成績最高的學(xué)生記錄(規(guī)定只有一個最高分)。int i,max=a0.s;for(i=0;imax)max=ai.s; *s=ai; 62填空 0.0 xi/N j+改錯 double fun(int m) for(i=100;i=m;i+=100)已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,找出成績最低的學(xué)生記錄(規(guī)定只有一個最低分)。int i,min=a0.s;for(i=0;iN;i+)if(ai.smin)min=ai.s; *s=ai; 38填空 1 i ap+i改錯 float k; if(*a*c)學(xué)生的記錄由學(xué)號和成績組成,把分數(shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最高的學(xué)生可能不止一個。int i,j=0,n=0,max=a0.s;for(i=0;imax) max=ai.s;for(i=0;iN;i+)if(ai.s=max) bj+=ai;n+;return n;87填空 struct student a.scorei改錯 if(p=n) return -1; ai=ai+1;學(xué)生的記錄由學(xué)號和成績組成,把分數(shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分數(shù)最低的學(xué)生可能不止一個。int i,j=0,n=0,min=a0.s;for(i=0;iN;i+)if(ai.smin) min=ai.s;for(i=0;iN;i+)if(ai.s=min) bj+=ai;n+;return n;39填空 n/2 i an-1-i改錯 n=*p-0; n=n*8+*p-0;學(xué)生的記錄由學(xué)號和成績組成,函數(shù)返回指定學(xué)號的學(xué)生數(shù)據(jù),若沒找到指定學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置-1。int i; STREC h;for(i=0;i0)學(xué)生記錄由學(xué)號和成績組成,按分數(shù)高低排列學(xué)生的記錄,高分在前。int i,j; STREC t;for(i=0;iN-1;i+)for(j=i+1;jN;j+)if(ai.sp)學(xué)生的記錄由學(xué)號和成績組成,把指定分數(shù)范圍內(nèi)的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,學(xué)生人數(shù)由函數(shù)值返回。int i,j=0;for(i=0;i=l&ai.s=h) bj+=ai;return j;二維數(shù)組14填空 *std PERSON std改錯 int k,q,i; pti=strki;使數(shù)組左下半三角元素中的值全部置成0。int i,j;for(i=0;iN;i+)for(j=0;j0) else if(k=0)使數(shù)組左下半三角元素中的值乘以 i,j;for(i=0;iN;i+)for(j=0;j=i;j+) aij=aij*n;63填空 *av i xj改錯 float fun(int n) for(i=2;i=n;i+)使數(shù)組右上半三角元素中的值乘以 i,j;for(j=0;jN;j+)for(i=0;i=j;i+) aij=aij*m;67填空 N break n改錯 sum=0; scanf(%d,&aij);實現(xiàn)矩陣(3行3列)的轉(zhuǎn)置。int i,j,t;for(i=0;i3;i+)for(j=0;j=i;j+)t=arrayji;arrayji=arrayij; arrayij=t; 23填空 & 0 sj改錯 for(i=2;i=m;i+) y+=1.0/(i*i);實現(xiàn)B=A+A,即把矩陣A加上矩陣A的轉(zhuǎn)置,存放在矩陣B中。int i,j,t,at33;for(i=0;i=2;i+)for(j=0;j=2;j+) atij=aji;for(i=0;i3;i+)for(j=0;j3;j+) bij=aij+atij;65填空 xi/N j+ i+改錯 numk=0; switch(*s)求出二維數(shù)組周邊元素之和。int i,j,s=0;for(j=0;jN;j+) s+=a0j+aM-1j;for(i=1;i=M-2;i+) s+=ai0+aiN-1;return s;64填空 s/N j+ -1改錯 #include void upfst(char *p)求出數(shù)組周邊元素的平均值。int i,j,k=0; double s=0.0;for(j=0;jN;j+) s+=w0j+wN-1j; k+=2;for(i=1;inext p-next 改錯 p=h-next; p=p-next;將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中。int i,j;for(i=0;imm;i+)for(j=0;jnn;j+) b*n=sij;(*n)+; 93填空 NODE* next r改錯 if(i%2|si%2=0) tj=0; 將M行N列的二維數(shù)組中的數(shù)據(jù),按列的順序依次放到一維數(shù)組中。int i,j;for(j=0;jnn;j+)for(i=0;imm;i+) b*n=sij; (*n)+;97填空 FILE* fp ch改錯 sj+=si; sj=0;將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。int i,j,k=0;for(j=0;jN;j+)for(i=0;iM;i+) bk+=sij;bk=0;94填空 next NULL r改錯 r=t; if(*r=0)將放在字符串?dāng)?shù)組中的M個字符串,按順序合并組成一個新的字符串。int i,j,k=0;for(i=0;iM;i+)for(j=0;jN;j+)if(aij) bk+=*(*(a+i)+j);else break;bk=0;素數(shù)49填空 i t+ count改錯 int fun(int a,int b,int c)else return 1;計算并輸出3到n之間所有素數(shù)的平方根之和。int m,k,i; double s=0.0;for(m=3;m=n;m+)k=sqrt(m);for(i=2;i=k+1) s+=sqrt(m);return s;68填空 a0i x,y改錯 void fun(int *x,int *y) t=*x;*x=*y;*y=t;求出小于或等于lim的所有素數(shù)放在aa數(shù)組中,返回所求出的素數(shù)的個數(shù)。for(j=2;j=i) aak+=i;75填空 s - return 0改錯 double fun(int n) c=a;a+=b;b=c;將大于形參m且緊靠m 的k個素數(shù)存入xx所指的數(shù)組中。int g=0,i,j,flag=1;for(i=m+1;1;i+)for(j=2;j=i)if(k=0)xxg+=i;k-;else break; 21填空 M k改錯 if(a=tti)&(tti=z) tti-=32;將所有大于1小于整數(shù)m的非素數(shù)存入xx所指數(shù)組中。int i,j,t=0;for(i=4;im;i+) for(j=2;j=xa)int i; float p,t=1.0; for(i=1;i=m;i+) t=t*i; p=t;for(t=1.0,i=1;i=n;i+) t=t*i; p=p/t;for(t=1.0,i=1;i=m-n;i+) t=t*i; p=p/t;return p;46填空 j=2 i j 改錯 sum=j=0; if(sum%4=2)int i; double s=0.0;for(i=1;i=n;i+) s+=(1.0/(2*i-1)-1.0/(2*i);return s;79填空 *s 1 kn改錯 double fun(int k) return s;int i; double s=0.0; for(i=1;i=n;i+) s+=1.0/(i*(i+1);return s;47填空 n%10 break break改錯 if(t=0) *zero=count;int i; double s=1.0,t=1.0;for(i=2;i=n;i+) t*=i;s+=1.0/t;return s;27填空 0 0 c改錯 double sum=0.0; sum/=c; int i; float s=1.0,t=1.0;for(i=2;i=n;i+) t+=i;s+=1.0/t;return s; 42填空 1.0 -1.0 t改錯 for(i=1;i=0&k=6)int i; double t=1.0,s=1.0; for(i=1;i=n;i+) t*=i; s+=1.0/t;return s;80填空 i psj tp改錯 double fun(int n) return sum;int i,j; double s=1.0,p=1.0,t=1.0; for(i=1;i=n;i+) t=t*i;p=p*x;s+=p/t;return s;30填空 0 j- j改錯 double f(double x) return s;s=(ln(1)+ln(2)+ln(3)+ln(m)0.5。int i; double s=0.0,log(double x);for(i=1;i=m;i+) s+=log(double)i);return sqrt(s);50填空 a a b改錯 c=c+32; c=c+5;S=1+(1+205)+(1+205+305)+(1+205+305+n05)int i; double s=1.0,p=1.0;for(i=2;i=eps) pi+=s;t=n/(2*n+1);s*=t;n+;return pi*2;43填空 x n fabs(t)改錯 for(i=1;i=1e-6);return s;44填空 1.0 1 i改錯 k=i; c=k%10;計算給定10個數(shù)的方差:int i,j; double s=0.0,s1=0.0;for(i=0;i10;i+) s1+=xi; s1/=10;for(j=0;j10;j+) s+=(xj-s1)*(xj-s1); s/=10;return sqrt(s);41填空 & A ch改錯 void fun(int *a) aj=aj-1;計算給定整數(shù)n的所有因子之和。int s=0,i;for(i=2;i=n-1;i+) if(n%i=0) s+=i;return s;45填空 x n t改錯 d=1;s=0; d=d/10;計算并輸出給定數(shù)組(長度為9)中每相鄰兩個元素之平均值的平方根之和。double s=0.0; int i,j=1;for(i=0;i9;i+)if(j=2)&(n=1e-6);return x1;29填空 N N-1 0改錯 s=s+(double)(n+1)/n; return t;求Fibonacci數(shù)列中大于t的最小的一個數(shù)。int a=1,b=1,c=0,i;for(i=4;i=t;i+)if(ct) c=a+b;a=b;b=c;else break;return c;55填空 10 0 x改錯 if(n=0) result*=n-;將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)。long s=0,t; int i=0,n=strlen(p),k,s1;if(p0=-) i+;for(j=i;j=n-i;j+)t=pj-0; s1=10;for(k=j;kam) m=k;w是一個大于10的無符號整數(shù),若w是n(n2)位的整數(shù),則函數(shù)求出w的后n-1位的數(shù)。unsigned t=w,s=0,sl=1,p=0;while(t10) if(t/10) p=t%10;s+=p*sl;sl*=10;t/=10;return s;66填空 0 s+ ctod(a)+ctod(b)改錯 void fun(char *s,int *a,int *b) *a=*a+1; *b=*b+1;對變量h中的值保留2位小數(shù),并對第三位進行四舍五入。int t; float f;t=(int)h; f=h-t;if(int)(f*1000)%10=5) f=(int)(f*100)%100+1)/100.0;else f=(int)(f*100)/100.0;return t+f;74填空 t,s si 0改錯 if(i%k=0) if(k=i)求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中。int i,j=0,k=0,*t=pp;for(i=1;i=x;i+)if(i%2!=0) tj+=i; for(i=0;i0.001)除字符串前導(dǎo)和尾部的*號,將其它*號都刪除。int j=0; char *q=a;while(*q&qh)aj+=*q+; while(*h&*p&hp)if(*h!=*) aj+=*h;h+; while(*p)aj+=*p+; aj=0; 81填空 N i -1改錯 a2=k/10; return i;將字符串尾部的*號全部刪除,前面和中間的*號不刪除。int i=0; char *p,*q; p=q=a;while(*p) p+;p-;while(*p=*) p-;while(q=p) ai+=*q+;ai=0;83填空 N substr 0改錯 int fun(int x,int y,int z) return j;只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。int i=0;char *p;for(p=a+h;pa+n-e;p+) ai+=*p; ai=0; 32填空 (*t)N i=0;iamid)除了尾部的*號之外,將字符串中其他*號全部刪除。int i=0;char *q=a;while(qn) t=a+k-n;while(*t) ai+=*t+; ai=0;35填空 ai%2 aj j改錯 fun(int n) if(n=1)使字符串中尾部的*號不得多于n個;若多于n個,則刪除多余的*號;若少于或等于n個,則什么也不做,字符串中間和前面的*號不刪除。int i=0,k=0; char *p,*t; p=t=a;while(*t) t+; t-;while(*t=*)k+;t-; t+;if(kn)while(*p&p

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論