| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 291 人关注过本帖
标题:程序在windows下没错,但转入Linux下结果有些问题
只看楼主 加入收藏
scarwougo
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-10
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:3 
程序在windows下没错,但转入Linux下结果有些问题
题目要求:通过比较两个数组中对应的每个元素的大小,并用large,small,equal计数,比如a数组的第一个元素大于b数组的第一个,则large+=1,以此类推。最后若large大于其他两个变量那么结果为a数组大,另两种结果不用说了拉。
很单纯的一道题。
程序如下:
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
void lg(int *x,int *y);
int main()
{
int a[10],b[10],i;
struct timeval tv1,tv2;
struct timezone tz;
printf("输入数组a:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("输入数组b:\n");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
gettimeofday(&tv1,&tz);
lg(a,b);
gettimeofday(&tv2,&tz);
printf("比较两数组所用时间:%d\n",tv2.tv_usec-tv1.tv_usec);
return 0;
}
void lg(int *x,int *y)
{
int large=0,equal=0,small=0,i;
for(i=0;i<10;i++)
{
if(x[i]>y[i])large+=1;
else if(x[i]<y[i])small+=1;
else equal+=1;
}
printf("\na[i]>b[i] %d 次 \na[i]=b[i] %d 次 \na[i]<b[i] %d 次 \n\n",large,equal,small);
if(large>small)printf("a数组大于b数组。\n");
else if(large<small)printf("a数组小于b数组。\n");
else printf("a数组等于b数组。\n");
}

说明比较长。各位耐心,谢谢。
原本的目的是比较下传值调用和传址调用的时间差别的,所以这个程序有两个版本。
这个程序在windows下完全正确,但到了Linux下出现小错误。所谓的小错误是指数组大小的比较没有问题,但是计数的结果不对,所以我觉得很怪。
我用另一个版本的就是传值调用则两个系统下都正确。
顺道说一下,我用的两数组如下:
a数组:1 4 7 3 2 8 5 9 4 1
b数组:2 4 3 9 4 1 7 5 3 2
这中间有什么问题么。对了,在Linux下用的gcc编译器。
搜索更多相关主题的帖子: 程序移植问题 
2009-08-23 13:08
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:17 
测试时间根本不要你那么复杂
而且可以测到比你的那个更精细。

生命不熄,战斗不止.
2009-08-23 13:27
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:17 

输入数组a:
1 4 7 3 2 8 5 9 4 1
输入数组b:
2 4 3 9 4 1 7 5 3 2
a[i]>b[i] 4 次
a[i]=b[i] 1 次
a[i]<b[i] 5 次
a数组小于b数组。
比较两数组所用时间:33
请按 ENTER 或其它命令继续
有问题么?

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-23 13:30
scarwougo
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-10
收藏
得分:0 
重点不在测试时间,因为这是作业,所以我会用这个函数。这个程序在windows下完全正确。但是在Linux下不正常,请问楼上试过不?谢谢
2009-08-24 17:27
快速回复:程序在windows下没错,但转入Linux下结果有些问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023872 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved