请帮我分析一下下面这个C语言的题目,谢谢!

8、给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:12345... 8、给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
例如,有下列矩阵:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
若k为2,程序执行结果为
3 4 5 1 2
3 4 5 1 2
3 4 5 1 2
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

#include <stdio.h>
#define M 3
#define N 5
void fun(int (*a)[N],int k)
{ int i,j,p,temp;
/**********found**********/
for(p=1; p<= __1__; p++)
for(i=0; i<M; i++)
{ temp=a[i][0];
/**********found**********/
for(j=0; j< __2__ ; j++) a[i][j]=a[i][j+1];
/**********found**********/
a[i][N-1]= __3__;
}
}
main( )
{ int x[M][N]={ {1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5} },i,j;
printf("The array before moving:\n\n");
for(i=0; i<M; i++)
{ for(j=0; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
fun(x,2);
printf("The array after moving:\n\n");
for(i=0; i<M; i++)
{ for(j=0; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
} 答案:(1)k(2)N-1(3)temp
展开
 我来答
陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5472万
展开全部
程序有错误。
----------------------
MAIN: MOV SP, #SP
MOV 30H, #08H
MOV P1, #FFH
MOV P0, FFH ---估计应该是带#的
CLR TR0
TO: MOV TMOD, #01H
MOV TH0, #3CH
MOV TL0, #0B0H
SETB TR0
T1: MOV 30H, #50
M8: CJNE 30H, #00H, M8 --非法指令,可以用CJNE A, #......
CJNE 31H, 08H, M7 --非法指令,也以用CJNE Rn, #......
MOV P1, FFH --估计应该是带#的,#0FFH
MOV P0, FFH
DEC 31H
SJMP T1
M7: CJNE 31H, 07H, M6 ---非法
………… ---下面的雷同,大约有将近二分之一的非法指令。
…………
=======================
中断服务程序
***************************************
INT1: PUSH 30H ---INT1,不能当标号吧?
PUSH 31H ;保护现场
CLR TR0
MOV TMOD, #01H
MOV TH0, #3CH
MOV TL0, #0B0H
DEC 30H ---这里减一,白忙
POP 31H
POP 30H ---恢复现场,刚才白减了
SETB TR0
RETI

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
feiniao23
2010-09-13 · TA获得超过503个赞
知道答主
回答量:52
采纳率:0%
帮助的人:64.1万
展开全部
k表示移动次数,循环移动两次
for(i=0; i<M; i++)
表示循环一行一行移动
temp=a[i][0];
for(j=0; j< N-1 ; j++) a[i][j]=a[i][j+1];a[i][N-1]= temp;
这里表示先将每一行的第一个保存到temp中,然后后面的往前移动,然后再将temp中保存数组中每一行的第一个值给最后一个,如此循环两次即可达到效果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式