第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附(2)

2019-09-01 15:11

scanf(“%d”,&stack1*i+);

top1=_____(1)______; top2=_______(2)____; for(j=0j

scanf(“%d”,&i); while(i

(3) ; top2++; }

while(i>top1-1){ top2- -;

(4) ; top1++; }

clearstack();

printf(“%d\\n”,stack1* (5) +); }

return 0; }

(最大矩阵和)给出M行N列的整数矩阵,就最大的子矩阵和(子矩阵不能为空)。

输入第一行包含两个整数M和N,即矩阵的行数和列数。之后M行,每行N个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(第一空2分,其余3分,共14分) #include const int SIZE=100;

int matrix[SIZE+1][SIZE+1];

int rowsum[SIZE+1][SIZE+1]; //rowsum[i][j]记录第i行前j个数的和 int m,n,i,j,first,last,area,ans; int main(){

scanf(“%d %d”,&m,&n); for(i=1;i<=m;i++) for(j=1;j<=n;j++)

scanf(“%d”,&matrix*i+*j+); ans=matrix (1) ; for(i=1;i<=m;i++)

(2) ; for(i=1;i<=m;i++) for(j=1;j<=n;j++)

rowsum[i][j]= (3) ; for(first=1;first<=n;first++)

for(last=first;last<=n;last++){ (4) ; for(i=1;i<=m;i++){

area+= (5) ; if(area>ans) ans=area; if(area<0) area=0; } }

printf(“%d\\n”,ans); return 0; }

二、问题求解(共2题,每题4分,共计8分;每题全部答对得4分) 1. ________ 102 ___________ 2. ________ 15 ____________ 三、阅读程序写结果(共4题,每题8分,共计32分)

1. _________ 8 __________ 2. __________ 20 __________ 3. ___ 2 5 6 3 4 7 1 ____ 4. _ 3 6 9 1 5 10 4 11 8 2 7 _ 四、完善程序(共2题,每题10分,共计20分)

1. (1) ________________________ n __________________________(2分) (2) _________________________ 0___________________________(2分) (3) _______________ stack2[top2]=stack1[top1] ____________(2分) (4) ______________ stack1[top1]=stack2[top2] _____________(2分) (5) ________________________ top1-1 ______________________(2分) 2. (1) ________________________ [1][1] ______________________(2分) (2) _____________________rowsum[i][0]=0___________________(2分) (3) _____________ rowsum[i][j-1] + matrix[i][j] __________(2分)

(4) _________________________area=0 _______________________(2分) (5) ___________ rowsum[i][last]-rowsum[i][first-1] ________(2分)


第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北京邮电大学管理科学与工程(工学)考研 招生人数 参考书 报录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: