关于多核大赛中的第一题?请大侠们帮忙啊!

tengwl 2007-06-29 07:15:06
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
//#include <unistd.h>
#include <malloc.h>

#define FLT_MIN 1.175494351e-38F /* min positive value */
#define MAX_NUM 4


void find_product(const float *farray, const int size, float *pProduct, int *pIndex)
{
int i;
float fmax;
int index;
int loopNum = size-MAX_NUM;
float ftmp;

fmax = FLT_MIN;

for ( i = 0; i <= loopNum; i++ )
{
ftmp = farray[i]*farray[i+1]*farray[i+2]*farray[i+3];

if ( ftmp > fmax )
{
fmax = ftmp;
index = i;
}
}

*pProduct = fmax;
*pIndex = index;

}
int main(int argc, char *argv[])
{
float *farray, product;
struct stat buf;
int num,index;

/********************************/
if ( stat(argv[1],&buf) ) // get the file size
{
printf("The file does not exist\n");
exit(0);
}
num = buf.st_size/sizeof(float);
farray = (float *)malloc(buf.st_size);
FILE *fp=fopen(argv[1],"rb");
fread( farray, sizeof(float), num, fp);
fclose(fp);
/********************************/

find_product(farray, num, &product, &index);

printf("乘积=%f 首数的序号=%d\n", product, index);

free(farray);

/********************************/
}


这样的答案一提交就说是Wrong Answer,是怎么回事啊?谢谢大家!
...全文
555 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
teal 2007-07-04
  • 打赏
  • 举报
回复
这个代码可以提交。应该不会有问题。
  • 打赏
  • 举报
回复
我也遇到了楼主同样的问题 ,最基本的没有优化过的代码提交也说答案错误,代码几乎相同
ai_3621 2007-07-01
  • 打赏
  • 举报
回复
如果输入全是0,

程序中的index估计不知道是多少了。

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧