首页 新闻 搜索 专区 学院

哪里不对啊?

0
悬赏园豆:5 [待解决问题]

给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
例如:[1, -2, 3, 10, -4, 7, 2, -5]的最大子数组为[3, 10, -4, 7, 2]
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大子数组以及子数组的和写入文件。
=================================================================
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE*fp;
long num=0;
int i,x,y,m,a[10];
if((fp=fopen("E:\HX.txt","r"))=NULL)
{
printf("File open error!");
exit;
}
for(i=0;i<5;i++)
{
fscanf(fp,"%s",a);
printf("%s",a);
}
for(i=0;i<5;i++)
{
num=num+a[i];
}
for(i=0;i<4;i++)
{
x=a[i]+a[i+1];
if(num<x)
num=x;
}
for(i=0;i<3;i++)
{
y=a[i]+a[i+1]+a[i+2];
if(num<y)
num=y;
}
for(i=0;i<2;i++)
{
m=a[i]+a[i+1]+a[i+2]+a[i+3];
if(num<m)
num=m;
}
printf("%d",num);
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
return 0;
}

HX~的主页 HX~ | 菜鸟二级 | 园豆:202
提问于:2019-03-14 18:20
< >
分享
所有回答(1)
0

1。数组a赋值不完整,只有前5个数
2。循环使用不对,需要增加一个下标才可以,i,j。

flyworm | 园豆:128 (初学一级) | 2019-03-14 23:27

还是不行

支持(0) 反对(0) HX~ | 园豆:202 (菜鸟二级) | 2019-03-15 00:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册