浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空_第1頁
浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空_第2頁
浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空_第3頁
浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空_第4頁
浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江省計(jì)算機(jī)二級c語言上機(jī)考試真題(二)程序填空(二)程序填空1,求最大公約數(shù),下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:輸入m、n(要求輸入數(shù)均大于0),輸出它們的最大公約數(shù)。

#include<stdio.h>

voidmain()

{intm,n,k;

while(scanf("%d%d",&m,&n),_______1______);

for(____2____;n%k!=0||m%k!=0;k--);

printf("%d\n",k);

}#include<stdio.h>voidmain(){intm,n,k;while(scanf("%d%d",&m,&n)!=EOF&&m<=0||n<=0);{for(k=m;n%k!=0||m%k!=0;k--);printf("%d\n",k);}}2,分別統(tǒng)計(jì)字符串中各字符下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:分別統(tǒng)計(jì)字符串中英文字母、數(shù)字和其他字符出現(xiàn)的次數(shù)。

#include<stdio.h>

#include<string.h>

voidmain()

{chara[80];intn[3]={0},i;

gets(a);

for(i=0;a[i]!='\0';i++)

{if(/*-------1---------*/)/*統(tǒng)計(jì)字母個(gè)數(shù)*/

n[0]++;

elseif(/*------2------*/)/*統(tǒng)計(jì)數(shù)字個(gè)數(shù)*/

n[1]++;

else

n[2]++;

}

for(i=0;i<3;i++)printf(/*------3------*/);

}#include<stdio.h>#include<string.h>intmain(){chara[80];intn[3]={0},i;gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')n[0]++;elseif(a[i]>='0'&&a[i]<='9')n[1]++;elsen[2]++;}for(i=0;i<3;i++)printf("%d\n",n[i]);}3,求相鄰兩元素和下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:求出a中各相鄰兩個(gè)元素的和,并將這些和存放在數(shù)組b中,按每行3個(gè)元素的形式輸出。

例如:b[1]=a[1]+a[0],…………,b[9]=a[9]+a[8]。

#include<stdio.h>

voidmain()

{

inta[10],b[10],i;

printf("\nInput10numbers:");

for(i=0;i<10;i++)/*數(shù)組輸入*/

scanf("%d",&a[i]);

for(i=1;i<10;i++)

b[i]=_______1_____;/*計(jì)算b數(shù)組中的元素*/

for(i=1;i<10;i++)

{

printf("%3d",b[i]);

若程序輸入-34567,則輸出-76543。

#include<stdio.h>

#include<math.h>

longf(longn)

{longm,y=0;

m=fabs(n);

while(m!=0){

y=y*10+m%10;

______1______;

}

if(_______2_____)returny;

elsereturn-y;

}

intmain()

{

printf("%ld\n",f(12345));printf("%ld\n",f(-34567));

return0;

}#include<stdio.h>#include<math.h>longf(longn){longm,y=0;m=fabs(n);while(m!=0){y=y*10+m%10;m=m/10;}if(n>=0)returny;elsereturn-y;}voidmain(){printf("%ld\n",f(12345));printf("%ld\n",f(-34567));}8,刪除數(shù)字字符下面程序中中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:調(diào)用函數(shù)f,從字符串中刪除所有的數(shù)字字符。

#include<stdio.h>

#include<string.h>

#include<ctype.h>

voidf(char*s)

{inti=0;

while(s[i]!='\0'){

if(isdigit(s[i]))____1____;

else______2___;}

}

voidmain()

{charstr[80];

gets(str);f(str);puts(str);

}#include<stdio.h>#include<string.h>#include<ctype.h>voidf(char*s){inti=0;while(s[i]!='\0'){if(isdigit(s[i]))strcpy(s+i,s+i+1);elsei++;}}voidmain(){charstr[80];gets(str);f(str);puts(str);}9,刪除c下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:將字符串s中所有的字符'c'刪除。

#include<stdio.h>

voidmain()

{

chars[80];

inti,j;

gets(s);

for(i=j=0;str[i]!='\0';i++)

if(______1_______)

{

s[j]=s[i];

j++

}

______2______;

puts(s);

}#include<stdio.h>voidmain(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!='\0';i++)if(s[i]!='c'){s[j]=s[i];j++;}s[j]='\0';puts(s);}10,去數(shù)組負(fù)數(shù)下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:輸入數(shù)組x[7],調(diào)用函數(shù)f,去除數(shù)組中的負(fù)數(shù),輸出結(jié)果為:1346

#include<stdio.h>

voidf(int*a,int*m)

{inti,j;

for(i=0;i<*m;i++)

if(a[i]<0){

for(j=i--;j<*m-1;j++)a[j]=a[j+1];

_____1_____;

}

}

voidmain()

{inti,n=7,x[7]={1,-2,3,4,-5,6,-7};

_______2_______;

for(i=0;i<n;i++)printf("%5d",x[i]);

printf("\n");

}#include<stdio.h>voidf(int*a,int*m){inti,j;for(i=0;i<*m;i++)if(a[i]<0){for(j=i--;j<*m-1;j++)a[j]=a[j+1];*m=*m-1;}}intmain(){inti,n=7,x[7]={1,-2,3,4,-5,6,-7};f(x,&n);for(i=0;i<n;i++)printf("%5d",x[i]);printf("\n");}11,平均成績下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:該程序計(jì)算四位學(xué)生的平均成績,保存在結(jié)構(gòu)中,然后列表輸出這些學(xué)生的信息。

#include

structSTUDENT

{

charname[16];

intmath;

intenglish;

intcomputer;

intaverage;

};

voidGetAverage(structSTUDENT*pst)/*計(jì)算平均成績*/

{

intsum=0;

sum=______1______;//pst->math+pst->english+pst->computer

pst->average=sum/3;

}

voidmain()

{

inti;

structSTUDENTst[4]={{"Jessica",98,95,90},{"Mike",80,80,90},

{"Linda",87,76,70},{"Peter",90,100,99}};

for(i=0;i<4;i++)

{

GetAverage(______2______);//st+i

}

printf("Name\tMath\tEnglish\tCompu\tAverage\n");

for(i=0;i<4;i++)

{

printf("%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].math,st[i].english,

st[i].computer,st[i].average);

}

}12,后移5位下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:輸入的一個(gè)小寫字母,將字母循環(huán)后移5個(gè)位置后輸出,如’a’變成’f’,‘w’變成’b’。

#include

voidmain()

{

charc;

c=getchar();

if(______1______)

c=c+5;

else

if(c>='v'&&c<='z')

______2______

putchar(c);

}#include<stdio.h>intmain(){charc;c=getchar();if(c>='a'&&c<'v')c=c+5;elseif(c>='v'&&c<='z')c='a'+'z'-c;putchar(c);}13,函數(shù)最大值下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:對x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。

#include<stdio.h>

#include<math.h>

#definef(x)x*x-5*x+sin(x)

voidmain()

{

intx;floatmax;

/*----1---*/;

for(x=2;x<=10;x++)

if(max

fprintf(p,"%f\n",max);

}#include<stdio.h>#include<math.h>#definef(x)x*x-5*x+sin(x)intmain(){intx;floatmax;max=f(1);for(x=2;x<=10;x++)if(max<f(x))max=f(x);printf("%f\n",max);}14,2n小于m下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:輸入整數(shù)n(n>0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。

#include"stdio.h"

voidmain()

{intm=0,t=1,n;

while(_____1________);

while(!(t<=n&&t*2>=n)){

_____2_____

m++;

}

printf("%d\n",m);

}#include"stdio.h"intmain(){intm=0,t=1,n;while(scanf("%d",&n),n<=0);while(!(t<=n&&t*2>=n)){t=t*2;m++;}printf("%d\n",m);}15,findthe下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:調(diào)用find函數(shù)在輸入的字符串中查找是否出現(xiàn)"the"這個(gè)單詞。如果查到返回出現(xiàn)的次數(shù);如果未找到返回0。

#include"stdio.h"

intfind(char*str)

{

char*fstr="the";

inti=0,j,n=0;

while(str[i]!='\0')

{

for(______1______)

if(str[j+i]!=fstr[j])break;

if(______2______)n++;

i++;

}

returnn;

}

voidmain()

{chara[80];

gets(a);

printf("%d",find(a));

}#include"stdio.h"intfind(char*str){char*fstr="the";inti=0,j,n=0;while(str[i]!='\0'){for(j=0;j<3;j++){if(str[j+i]!=fstr[j])break;if(j==2)n++;}i++;}returnn;}main(){chara[80];gets(a);printf("%d",find(a));}16,ditoh下面程序中中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:將輸入的十進(jìn)制整數(shù)n通過函數(shù)DtoH轉(zhuǎn)換為十六進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果以字符串形式輸出。

例如:輸入十進(jìn)制數(shù)79,將輸出十六進(jìn)制4f。

#include"stdio.h"

#include"string.h"

chartrans(intx)

{

if(x<10)return'0'+x;

else_______1________

}

intDtoH(intn,char*str)

{

inti=0;

while(n!=0)

{

________2________

n/=16;i++;}

returni-1;

}

voidmain()

{

inti,k,n;

charstr[30];

scanf("%d",&n);

k=DtoH(n,str);

for(i=0;i<=k;i++)printf("%c",str[k-i]);

}#include"stdio.h"#include"string.h"chartrans(intx){if(x<10)return'0'+x;elsereturn'a'+x-10;}intDtoH(intn,char*str){inti=0;while(n!=0){str[i]=trans(n%16);n/=16;i++;}returni-1;}intmain(){inti,k,n;charstr[30];scanf("%d",&n);k=DtoH(n,str);for(i=0;i<=k;i++)printf("%c",str[k-i]);}17,dec2bin下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:將輸入的十進(jìn)制正整數(shù)n通過函數(shù)Dec2Bin轉(zhuǎn)換為二進(jìn)制數(shù),并將轉(zhuǎn)換結(jié)果輸出。

#include"stdio.h"

voidDec2Bin(intm)

{

intbin[32],j;

for(j=0;m!=0;j++)

{

bin[j]=m%2;

m=m/2;

}

for(;j!=0;j--)

printf("%d",bin[j-1]);

}

voidmain()

{

intn;

scanf("%d",&n);

Dec2Bin(n);

}#include"stdio.h"voidDec2Bin(intm){intbin[32],j;for(j=0;m!=0;j++){bin[j]=m%2;m=m/2;}for(;j!=0;j--)printf("%d",bin[j-1]);}voidmain(){intn;scanf("%d",&n);Dec2Bin(n);}18,armstrong.c下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:找出100~999之間所有的Armstrong數(shù)。所謂Armstrong數(shù)是指這個(gè)3位數(shù)各位上數(shù)字的立方和等于自身。

例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong數(shù)。

#include"stdio.h"

#include"math.h"

voidmain()

{

inti,a,b,c;

for(i=100;i<=999;i++)

{

a=i/100;

_______1_______

c=i%10;

if(________2________)

printf("%disaArmstrongnumber!\n",i);

}

}#include"stdio.h"#include"math.h"intmain(){inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i)printf("%disaArmstrongnumber!\n",i);}}19,modify_c下面程序中"____N____"是根據(jù)程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負(fù))。

該程序功能:調(diào)用函數(shù)f計(jì)算代數(shù)多項(xiàng)式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x;當(dāng)x=1.7時(shí)的值。

#include"stdio.h"

floatf(float,float*,int);

intmain()

{floatb[5]={1.1,2.2,3.3,4.4,5.5};

floata;

while(scanf("%f",&a)!=EOF)

printf("%.2f\n",f(_____1_____));

}

floatf(floatx,float*a,intn)

{floaty=a[0],t=1;

inti;

for(i=

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論