c语言如何编程:(1)输入几个数从中找到和最大的子序列(2)输入几个字母,找出不在字母表中的字母..
2个回答
展开全部
第一道题很好解
但是第二道题的字母表 指的是26个字母还是别的什么的
第一道题是
#include<stdio.h>
int main()
{
int N,i,temp=0,sum=0,h=1,max;
int a[100000]={0};
int T;
scanf("%d",&T);//测试组数
while(T--)
{
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(!i) max = a[0];
else if(max<a[i])
{
max = a[i];
}
}
if(max <= 0)
{
printf("Case %d:\n",h++);
printf("%d %d %d",max);
if(T>=1) printf("\n\n");
else printf("\n");
continue;
}
temp=0,sum=0;
for(i=0;i<N;i++)
{
sum=sum+a[i];
if(sum<0)
{
sum=0;
}
if(sum>temp)
{
temp=sum;
}
}
printf("Case %d:\n",h++);
printf("%d",temp);
if(T>=1) printf("\n\n");
else printf("\n");
}
return 0;
}
但是第二道题的字母表 指的是26个字母还是别的什么的
第一道题是
#include<stdio.h>
int main()
{
int N,i,temp=0,sum=0,h=1,max;
int a[100000]={0};
int T;
scanf("%d",&T);//测试组数
while(T--)
{
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
if(!i) max = a[0];
else if(max<a[i])
{
max = a[i];
}
}
if(max <= 0)
{
printf("Case %d:\n",h++);
printf("%d %d %d",max);
if(T>=1) printf("\n\n");
else printf("\n");
continue;
}
temp=0,sum=0;
for(i=0;i<N;i++)
{
sum=sum+a[i];
if(sum<0)
{
sum=0;
}
if(sum>temp)
{
temp=sum;
}
}
printf("Case %d:\n",h++);
printf("%d",temp);
if(T>=1) printf("\n\n");
else printf("\n");
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询