现在的位置: 首页 > 14 二级C语言 > 正文

2011秋 C语言 完善程序(12分)

2012年09月16日 14 二级C语言 ⁄ 共 241字 ⁄ 字号 暂无评论

13

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
 
void judge(___(19)___,int n)
{
    int f,i=0;
    while(i<n-1&&x[i]==x[i+1])
        i++;
    if(i==___(20)___) {
        printf("\n all elements are same");
        return;
    }
    if(x[i]<x[i+1])f=1;
    else f=0;
    for(; i<n-1; i++)
        if(f&&x[i]>x[i+1]||!f&&___(21)___) {
            printf("\n no order");
            return;
        }
    if(___(22)___) printf("\n ascend");
    else printf("\n descend");
}
 
void main()
{
    int a[5]= {1,2,3,4,5},b[5]= {5,4,3,2,1},
	c[5]= {1,4,2,3,5),d[5]={2,2,2,2,2}};
    judge(a,5);
    judge(b,5);
    judge(c,5);
    judge(d,5);
}

14.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<stdio.h>
#define N 10
 
void exchange(int a[][N],int n)
{
    int i,j,t;
    for(j=0; j<n/2; j++)
        for(i=0; i<n; i++) {
            t=a[i][j];
            ___(23)___=a[i][n-j-1];
            a[i][n-j-1]=t;
        }
}
 
int issym(int m[][N],int n)
{
    int i,j;
    for(i=0; i<n-1; i++)
        for(j=i; j<n; j++)
            if(___(24)___)    /*对称矩阵判断*/
                return 0;
    ___(25)___ ;
}
void main()
{
    int a[N][N];
    int n=4,i,j,r1,r2;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
            scanf("%d",&a[i][j]);
    for(i=0; i<n; i++) {
        for(j=0; j<n.j++)
            printf("%4d",a[i][j]);
        printf("\n");
    }
    r1=issym(a,n);
    exchange( ___(26)___);
    r2=issym(a,n);
    if((r1+r2==2))
        printf("matrix is double symmetric\n");
    else
        printf("matrix is not double symmetric\n");
}

15.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
typedef struct point {   /*链表结点数据结构定义*/
    int x;
    struct point*next;
} ___(27)___    ;
 
POT *deletelist(POT *head)
{
    POT *p,*p1,*p2;
    p=___(28)___;
    while(p->next!=NULL) {
        p1=p;
        p2=p->next;
        while(p2!=NULL) {
            if(p2->x==p->x) {
                p1->next=___(29)___;
                free(p2);
                p2=p1->next;
            } else {
                p1=p2;
                p2=p2->next;
            }
        }
        p=___(30)___;
    }
    return head;
}

抱歉!评论已关闭.