2014学院c语言程序设计大赛1(1)

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

武汉大学珞珈学院第二届程序设计大赛

C语言

学生姓名:所在年级及专业:

学号(或准考证号):分数:

一程序填空题(每空3分,共60分)

1. 函数f的功能是返回整数的逆序数,如整数12345的逆序数为54321。

int f(int n)

{ _____(1)_____;

while(_____(2)_____) { s=s*10+n%10; n=n/10; }

return s;}

2. 下面程序在数组a中查找与x值相同的元素所在位置。

#include

void main( )

{ int a[10], i, x ;

printf( “输入10个整数:”);

for(i=1; i<=10; i++) scanf(“%d”, _____(3)_____);

printf(“输入要找的数x:”);

scanf(“%d”, _____(4)_____);

____(5)_____;

while(_____(6)_____) i++;

if(_____(7)_____) printf(“与x值相同的元素位置是:%d\n”,i);

else printf(“找不到与x值相同的元素!\n”);

3. 以下函数的功能是将字符串sa中的内容逆置过来,即:若原串为”abcde”,逆置后应为”edcba”。

#include

void strinvert(char *sa)

{

int i=0,j,t;

j= (8) ;

while( (9) )

{ t=sa[i]; sa[i]=sa[j]; sa[j]=t;

i++;

(10);

}

}

4. 已知带头结点的单链表L,其节点中的元素以递减方式排列。函数DelList的功能是在L中查找所有大于minK且小于maxK的结点,若找到,则删除结点。若L中不存在满足条件

的结点,则返回-1,否则返回删除的节点数。

链表结点类型定义如下:

typedef struct Node { int data; struct Node *next; }NODE, *LinkList;

int DelList(LinkList L, int minK, int maxK)

{

___(11)__ _ *q=L, *p= ___(12)__ _;

int Tag=0;

while(p)

if(p->data>=maxK) { q=p; ___(13)__ _; }

else if( ___(14)__ _)

{ q->next= ___(15)__ _; free(p);

p= ___(16)__ _; ___(17)__ _; }

else ___(18)__ _;

if( ___(19)__ _) return -1;

___(20)__ _;

}

二、编程题(40分)

1、输出”魔方阵”

所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等.例如,三阶魔方阵为8 1 6

3 5 7

4 9 2

要求输出1—n 的平方的自然数构成的魔方阵(12分)

2、猜年龄

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”请你推算一下,他当时到底有多年轻。(12分)

3、求1~9组成三个3位的平方数。

要求:将1、2、3、4、5、6、7、8、9九个数字分成三组,每个数字只能用一次,即每组三个数不允许有重复数字,也不许同其它组的三个数字重复,要求每组中的三位数都组成一个平方数。(16分)

相关文档
最新文档