计算机专业C语言月考试题

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

C 语言月考试题

总分:150分

一、程序阅读题:(共48分,8分/题)

1、Hsb208写出下列程序的结果:

main()

{int a[4]={5,16,7,14};

int i;

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

a[i]=a[i]+i;

for(i=3;i>=0;i--)

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

}

2、Hsb209写出下列程序的结果:

main()

{int k;

int a[3][3]={1,2,3,4,5,6,7,8,9};

for(k=0;k<3;k++)

printf("%d ",a[k][2-k]);

}

3、Hsb210写出下列程序的结果:main( )

{

int i,m=0,n=0;

int max,min;

int a[9]={1,3,5,7,9,-2,-4,-6,-8};

max=0;min=0;

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

{

if(a[i]>0)

{m++;

if(max

max=a[i];

}

else

{if(min

min=a[i];

n++;}

}

printf("m=%d,n=%d\n,max=%d,min=%d\n",m,n,max,min);}

4、hsb211写出下列程序的结果:

main( )

{

int i;

int a[4][4]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; for(i=0;i<4;i++)

printf(“%3d”,a[i][i]);

printf(“\n”);

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

printf(“%3d”,a[i][3-i]);

printf(“\n”);

}

5、hsb212写出下列程序的结果:

main()

{int i,j;

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

{printf("\n");

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

printf("%d*%d=%d ",i,j,i*j);

}

}

6、hsb213写出下列程序的结果:

int gcd(int,int);

main()

{

int a,b,re;

printf("\nplease enter 2 int:\n");

scanf("%d%d",&a,&b);

re=gcd(a,b);

printf("\n%d & %d is:%d\n",a,b,re);

}

int gcd(u,v)

int u,v;

{

int p;

while(v!=0)

{

p=u%v;

u=v;

v=p;

}

return(u);

}

二、程序填空题(共48分,4分/空)

1、hsb214下列程序是将十进正整数转换成2至16进制数。

main( )

{int i,j,x,r;

int data[50]={0};

do

{

printf("\n请输入一个十进正整数X:");

scanf("%d",&x);

}

while(x<0);

do

{

printf("\n请输入转换的进制整数r:");

scanf("%d",&r);

}

while(r<2 r>16);

i=0;

while(x/r 0)

{

data[i]=x%r;

x=x/r;

i=i+1;

}

data[i]= ;

printf("\n将%d转换成%d进制数的:",x,r);

for(j=i;j>=0; )

if(data[j] 10)

printf("%c",48+data[j]);

else

printf("%c", );

}

2、hsb215找出1000以内的水仙花数,水仙花数就是各位数字的立方和等于其本身如153=13+53+33,

#include "math.h"

main( )

{int i,a,b,c;

i=100;

while( )

{a=i/100;

b=(i-a*100)/10;

c= ;

if(i==pow(a,3)+pow(b,3)+pow(c,3))

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

;

}

}

3、hsb216 输入一个整数,并在数组中查找这个数。如果找到了这个数,就将对应元素的值改为它的相反数。 */

#include "stdio.h"

main()

{ int i,x,a[]={1,2,3,4,5,6,7,8,9};

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

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

printf("\n");

scanf("%d",&x);

for( )

if(a[i] )

;

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

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

}

三、程序改错题(共9分)

1、hsb217下列程序是从数组S中查找一个从键盘输入的数,并显示相关的信息,请指出错误并更正。

#include "stdio.h"

main( )

{

int s[10]={0,2,4,6,8,10,12,14,16,18};

int i,x,find=0;

printf("请输入要找的数:");

scanf("%d", &x);

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

if(x!=s[i])

{

find=1;

break;

}

if(!find)

printf("%d在s[%d]中\n",x,i);

else

相关文档
最新文档