C语言程序设计练习题1及答案 下载本文

printf(\ LE(&x,&y);

printf(\ }

8. #include #include struct Worker {

char name[15]; //姓名 int age; //年龄 float pay; //工资 };

int Equal(struct Worker* r1, struct Worker* r2) {

if(strcmp(r1->name, r2->name)==0) return 1; else return 0; }

void main() {

struct Worker a[4]={{\ {\ struct Worker x={\ int i;

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

if(Equal(a+i,&x)) break;

if(i>=4) printf(\没有查找所需要的记录!\\n\

else printf(\ %d %6.2f\\n\ } 9.

# include void main() {

int a=0,b=2,c=3; switch(a)

{ case 0: switch(b= =2)

{ case 1: putchar('&');break; case 2: putchar('%');break; }

case 1: switch(c)

{ case 1: putchar('$');

case 2: putchar('*');break; default: putchar('#'); } } }

10.

# include void main() {

int m=1,n=2,t=3; ++m; t+=++n; { int n=10,t; t=n*2; m+=t;

printf(\ }

printf(\}

答案:

1.

i,s=15, 56

2. ***** **** *** ** *

3. 264

4. 18 20

5. 10 20 40 35 40 20

6.

15 20 28 32 36 47

7. 15 26 26 15

8.

defa 58 638.00

9. &#

10. 22 10 20 22 3 6

三、写出下列每个函数的功能

1. int SE(int n) { //n为大于等于1的整数 int x,s=0;

printf(\输入%d个整数: \ scanf(\ if(n==1) return x; s=x;

while(--n) {scanf(\ return s; }

2. #include

void WA(int a[], int n) { int i,k,j,x;

for(i=0;i

for(j=i+1;ja[k]) k=j; x=a[i]; a[i]=a[k]; a[k]=x; } }

3. #include

int* LJ(int a[], int n) { int i,k=0;

for(i=1;ia[k]) k=i; return &a[k]; }

4. int Output(struct IntNode *f) {

int sum=0;

if(!f) return -9999; //用返回特定值-9999表示空表 while(f) {

sum+=f->data; f=f->next;

}

return sum; }

假定struct IntNode的类型定义为: struct IntNode {

int data; //结点值域 struct IntNode* next; //结点指针域 };

答案:

1. 求出从键盘上输入的n个整数之和并返回。

2. 采用选择排序的方法对数组a中的n个整数按照从大到小的次序重新排列。 3. 求出数组a中n个元素的最大值元素,返回该元素的地址

4. 对于以表头指针为f的链表,求出并返回所有结点中data域的值之和。 四 程序填空

1. 下面程序的功能是:将一个数插入到一个有序数组(从小到大)中,使插入以后的数组仍然有序。采用的算法是:确定要插入数的位置,然后将比这个数大的数后移一个位置,在空出的位置上将该数插入。

# include void main() {

int a[11]={1,3,6,7,9,12,14,18,19,20},x; int i,p;

printf(\ scanf(\

for(i=0,p=10;i<10;i++) if(x

for(i=9; ② ;i--) a[i+1]=a[i]; ③ ; printf(\ for(i=0;i<11;i++) printf(\ printf(\ }

2. 以下程序能统计一个英文句子(以 . 号结束)中最长单词的长度。

# include int count(char *p) {