printf(\ LE(&x,&y);
printf(\ }
8. #include
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
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
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;j 3. #include int* LJ(int a[], int n) { int i,k=0; for(i=1;i 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 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