#include<stdio.h>
#include<sys/timeb.h>
void main()
{
struct timeb t1, t2;
long t;
double x, sum = 1, sum1;
int i, j, n;
printf("请输入x n:");
scanf("%lf%d", &x, &n);
ftime(&t1); /* 求得当前时间 */
for(i=1; i<=n; i++)
{
sum1 = 1;
for(j=1; j<=i; j++)
{
sum1 = -sum1/x;
}
sum += sum1;
}
ftime(&t2); /* 求得当前时间 */
t = (t2.time - t1.time) * 1000 + (t2.millitm - t1.millitm); /* 计算时间差 */
printf("sum=%lf 用时%ld毫秒\n", sum, t);
}
/*
在VC2010里的输出结果:
————————————————————————
请输入x n:123 10000
sum=0.991935 用时392毫秒
请按任意键继续. . .
请输入x n:123 10000
sum=0.991935 用时480毫秒
请按任意键继续. . .
请输入x n:123 10000
sum=0.991935 用时463毫秒
请按任意键继续. . .
请输入x n:123 10000
sum=0.991935 用时464毫秒
请按任意键继续. . .
请输入x n:123 10000
sum=0.991935 用时470毫秒
请按任意键继续. . .
————————————————————————
3 个解决方案
#1
时间差这种东西不要较真。跟你的OS当时状态有关
#2
计算机每个时刻CPU负载是不同的
#3
同意楼上的观点, 每时每刻CPU的负载都是不同的。
你可以尝试下,同一个程序每一次运行的结果应该也不一样。
你可以尝试下,同一个程序每一次运行的结果应该也不一样。
#1
时间差这种东西不要较真。跟你的OS当时状态有关
#2
计算机每个时刻CPU负载是不同的
#3
同意楼上的观点, 每时每刻CPU的负载都是不同的。
你可以尝试下,同一个程序每一次运行的结果应该也不一样。
你可以尝试下,同一个程序每一次运行的结果应该也不一样。