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

2011春江苏省二级C上机真题C02 编程题

2011年09月17日 14 二级C语言 ⁄ 共 737字 ⁄ 字号 暂无评论
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
44
45
46
#include <stdio.h>
 
#define N 4
 
int insert_row(int a[][N],int n,int b[][N],int m)
{
    int i, j, k, t;
    int s[n+m];
    for (i=n; i<n+m; i++)
        for (j=0; j<N; j++)
            a[i][j] = b[i-n][j];
    for (i=0; i<n+m; i++)  {
    	s[i] = 0;
    	for (j=0; j<N; j++)
    	  s[i] += a[i][j];
    }
    for (i=0; i<n+m-1; i++) 
    	for (j=0; j<n+m-1-i; j++) {
	    	if (s[j]>s[j+1]) {
	    		t = s[j], s[j] = s[j+1], s[j+1] = t;
	    		for (k=0; k<N; k++) 
		    		t = a[j][k], a[j][k]=a[j+1][k], a[j+1][k]=t;		    	
	    	}
	    }    
    return n+m;
}
 
int main(int argc, char *argv[])
{
    int i, j, num;
    int x[4][N] = {
        { 2, 2, 3, 4},
        { 9,10,11,12}
    };
    int y[][N] = {
        { 1, 3, 5, 7},
        { 5,10,15,20}
    };
    num =insert_row(x, 2, y, 2);
    for (i=0; i<num; i++) {
        for (j=0; j<N; j++)
            printf("%d ", x[i][j]);
        printf("\n");
    }
    return 0;
}

抱歉!评论已关闭.