程序设计竞赛试题

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

2010年西北师范大学第四届程序设计大赛试题

一、程序填空(共5题,每题5分,共25分)

1.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,完成程序中下划线部分。

#include

main()

{

int i, j;

for(i=0; ; i++)

{

j=i*10+6;

if( ) continue;

printf("%d",j);

}

}

2.以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。完成函数中下划线部分。

Strapp(char a[], char b[])

{

int num=0,n=0;

while(*(a+num)!= ) num++;

while(b[n]){*(a+num)=b[n]; num++; ;}

return(num);

}

3.下面函数用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n 所指存储单元中存放数组中数据的个数。插入

后数组中的数仍有序。完成函数中下划线部分。

void fun (char *w,int x,int *n)

{ int i,p;

p=0;

w[*n]=x;

while (x>w[p]) ;

for(i=*n;i>p;i--)w[i]= ;

w[p]=x;

++ *n;

}

4.下面的程序将输入字符中的小写字母转化成大写字母输出,其它字符按原样输出,当输入字符为“!”时程序结束。完成程

序中下划线部分。

#include

main()

{

char ch;

printf("Input string(! to quit):");

do{

ch = getchar();

if( ) ch = ch + 'A'-'a';

putchar(ch);

}while( );

}

5. The following program is to calculate the value of “e ” according to the formula ....!

31!21!111++++=e , while the value of the last item must be less than 610-.

#include

main()

{

int i;

double e,item;

;

item=1.0;

for (i=1; ;i++)

{

item/=(double)i;

e+= ;

}

printf("e=%f\n",e);

}

二、 程序理解(共5题,每题5分,共25分)

1. 以下程序的运行结果是

#include

void main()

{

int i,j,k=19;

while (i=k-1)

{

k-=3;

if(k%5==0) { i++; continue; }

else if(k<5) break;

i++;

}

printf(“i=%d,k=%d\n ”,i,k);

}

2.运行以下程序,输入: AabD 后,程序的运行结果是_______.

#include

void main()

{

char s[81];

int i=0;

gets(s);

while (s[i]!=…\0‟)

{

if(s[i]<= ‟z‟&&s[i]>= ‟a‟) s[i]= ‟z‟+‟a‟-s[i];

i++;

}

puts(s);

}

3.以下程序的运行结果是

#include

#define F(k) k+3.14

#define P(a) printf("a=%d\n", (int)(a))

#define P1(a) P(a);putchar('\n');

#define P2(a, b) P(a);P1(b);

void main()

{

int x = 1;

{

int x = 2;

P(x*F(2));

}

{

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

P2(x, 9.15*x+32);

}

}

4.输入: this is a test.,以下程序的运行结果是#include

#define TRUE 1

#define FALSE 0

int change(char *c,int status);

void main()

{

int flag=TRUE;

char ch;

do{

ch=getchar();

flag=change(&ch,flag);

putchar(ch);

} while(ch!=‟.‟);

printf(…\n‟);

}

int change(char *c,int status)

{

if(*c==‟‟) return TRUE;

if(status&&*c<=‟z‟&&*c>=‟a‟) *c+=‟A‟-…a‟; return FALSE;

相关文档
最新文档