信息学竞赛(C语言)程序填空.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:2 大小:30KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

信息学竞赛(C语言)程序填空.doc

信息学竞赛(C语言)程序填空.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第页共NUMPAGES2页·程序填空题·1.(最大连续子段和)给出一个数列(元素个数不多于100),数列元素均为负整数、正整数、0。请找出数列中的一个连续子数列,使得这个子数列中包含的所有元素之和最大,在和最大的前提下还要求该子数列包含的元素个数最多,并输出这个最大和以及该连续子数列中元素的个数。例如数列为4,-5,3,2,4时,输出9和3;数列为123-5078时,输出16和7。#include<stdio.h>inta[101];intn,i,ans,len,tmp,beg;intmain(){scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);tmp=0;ans=0;len=0;beg=①;for(i=1;i<=n;i++){if(tmp+a[i]>ans){ans=tmp+a[i];len=i-beg;}elseif(②&&i-beg>len)len=i-beg;if(tmp+a[i]③){beg=④;tmp=0;}else⑤;}printf("%d%d\n",ans,len);return0;}①_______________________②_______________________③_______________________④_______________________⑤_______________________2、读入一个字符串,如果出现了减号'-',减号两侧又同时为小写字母、大写字母或数字,就需要按照ASCII码的顺序把'-'所代表的省略部分不全。例如:'a–d'实际是'abcd','E–H'实际是'EFGH','A–A'实际上是'A','0-7'实际上是'01234567'。请编程输出转化后的字符串。#include<stdio.h>#include<string.h>intmain(void){longlengthi,j;chars[100];scanf("%s",s);length=strlen(s);s[length]=①;i=②;while(i<length)if(③){printf("%c",s[i]);④}else{if(((s[i-1]>='a')&&(s[i+1]<='z'))||((s[i-1]>='A')&&(s[i+1]<='Z'))||((s[i-1]>='0')&&(s[i+1]<='9'))){for(⑤;j<=s[i+1];j++)⑥⑦}else{printf("%c",s[i]);i++;}}return0;}①_______________________②_______________________③_______________________④_______________________⑤_______________________⑥_______________________⑦_______________________