2011年技能考试试卷C语言(真题)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分【程序填空】

第一套:

题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。

---------------------------------------------------------

注意:请勿改动主函数main()中的其他内容。

---------------------------------------------------------

#include

#include

void gcd(int a[],int n,int b[],int c[]){

int i,x,y,z;

/***********SPACE***********/

for(i=0;i<【?】;i++){

x=a[i];

y=a[i+1];

while(z=x%y){

x=y;y=z;

}

b[i]=y;

/***********SPACE***********/

c[i]=a[i]*a[i+1]/【?】;

}

}

int main(){

int a[5]={8,12,5,7,14};

int b[4],c[4];

int i;

gcd(a,5,b,c);

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

printf("%d\t",a[i]);

printf("\n");

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

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

printf("\n");

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

printf("%d\t",c[i]);

printf("\n");

getch();

return 0;

}

第二套

题目:函数reverse()对字符串str进行逆序。#include

#include

#include

void reverse(char str[]){

int len, j;

char c;

/***********SPACE***********/

len = 【?】(str);

/***********SPACE***********/

for (j=len-1; 【?】; j--){

c=str[j];

str[j]=str[len-1-j];

str[len-1-j]=c;

}

}

int main(){

char a[80];

printf("Please enter a string: ");

gets(a);

reverse(a);

printf("The inversed string is: ");

puts(a);

getch();

return 0;

}

第三套

题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。例如对数组a处理后,它的前11个元素为{-5,7,-4,25,0,2,4,16,8,5,20}。

#include

#include

int main(){

int a[20]={-5,-5,7,-4,-4,25,25,0,0,0,2,4,16,16,8,5,5,5,5,20};

int i,prev,next;

prev=0;

next=1;

while(next<20){

/***********SPACE***********/

if(a[prev]!=【?】)

a[++prev]=a[next];

next++;

}

/***********SPACE***********/

for(i=0;i【?】prev;i++)

printf("\n");

getch();

return 0;

}

第四套

题目:程序输出由0~3四个数字组成的符合下列条件的4位整数:

1. 每个4位整数中,0~3四个数字只能出现一次;

2. 百位数不能为3,十位数不能为2。

#include

#include

int main(){

int g,s,b,q;

int num=0;

for(b=0;b<4;b++){

if(b==3) continue;

for(s=0;s<4;s++){

if((b==s)||(s==2)) continue;

/***********SPACE***********/

for(q=【?】;q<4;q++){

if((q==b)||(q==s)) continue;

/***********SPACE***********/

g=【?】-q-b-s;

printf("%d\n",q*1000+b*100+s*10+g);

num++;

}

}

}

相关文档
最新文档