浙江省计算机二级c语言上机考试真题(二)程序填空_第1页
浙江省计算机二级c语言上机考试真题(二)程序填空_第2页
浙江省计算机二级c语言上机考试真题(二)程序填空_第3页
浙江省计算机二级c语言上机考试真题(二)程序填空_第4页
浙江省计算机二级c语言上机考试真题(二)程序填空_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江省计算机二级c语言上机考试真题(二)程序填空(二)程序填空1,求最大公约数,下面程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。

#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,分别统计字符串中各字符下面程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:分别统计字符串中英文字母、数字和其他字符出现的次数。

#include<stdio.h>

#include<string.h>

voidmain()

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

gets(a);

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

{if(/*-------1---------*/)/*统计字母个数*/

n[0]++;

elseif(/*------2------*/)/*统计数字个数*/

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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:求出a中各相邻两个元素的和,并将这些和存放在数组b中,按每行3个元素的形式输出。

例如: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++)/*数组输入*/

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

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

b[i]=_______1_____;/*计算b数组中的元素*/

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,删除数字字符下面程序中中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:调用函数f,从字符串中删除所有的数字字符。

#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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:将字符串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,去数组负数下面程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为: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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。

#include

structSTUDENT

{

charname[16];

intmath;

intenglish;

intcomputer;

intaverage;

};

voidGetAverage(structSTUDENT*pst)/*计算平均成绩*/

{

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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如’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,函数最大值下面程序中"____N____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:对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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:输入整数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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:调用find函数在输入的字符串中查找是否出现"the"这个单词。如果查到返回出现的次数;如果未找到返回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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符串形式输出。

例如:输入十进制数79,将输出十六进制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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。

#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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:找出100~999之间所有的Armstrong数。所谓Armstrong数是指这个3位数各位上数字的立方和等于自身。

例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数。

#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____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x;当x=1.7时的值。

#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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论