C语言编程从1累加到100然后求他们的平均值

C语言编程从1累加到100然后求他们的平均值,求这个程序编写... C语言编程从1累加到100然后求他们的平均值,求这个程序编写 展开
 我来答
匿名用户
推荐于2017-12-16
展开全部
int start=1,end=100;//定义开始和结束的数值(这里是1-100)
printf("%lf",((end-start+1)%2==0)?((end+start)*(end-start+1)/2/(double)(end-start+1)):(((end+start)*(end-start)/2+(end-start)/2)+(end%2?1:2))/(double)(end-start+1));

这个算法比较另类;优点是运算速度快.相比较其他人的算法,运算100个数相加平均数,效率是他们用循环相加的80倍左右.也就是假设用循环相加的算法需要100毫秒完成.上面的代码只需要1毫秒多点;
并且运算的范围越大;效率相比越明显,因为他不管多少个数,运算时间都一样;缺点是难以理解;
上面代码这么长,是考虑2-100或者1-99这种数的个数不是成对的情况;
如果可以保证数的个数是成对的只需要
int start=1,end=100;
printf("%lf",(((end+start)*(end-start+1)/2/(double)(end-start+1)));
这个效率是循环相加运算速度的100倍左右;
再变态一下....
如果只算1-100这个固定的累加平均数...
只需要
printf("%d",(1+100)*100/2/100);
简化下就是......
printf(%d,50);//口算就出来了
好吧 我已经很邪恶了;
匿名用户
2013-06-30
展开全部
平均数可能出现小数,不能用int,用精度高的double
#include <stdlib.h>
void main()
{
double sum=0;
double avg=0;
......
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-30
展开全部
#include <stdlib.h>
void main()
{
int sum=0;
int avg=0;
for(i=1;i<101;i++)
{sum=sum+i; }
avg=sum/100;
printf("%d",s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-30
展开全部
恩 如下: 亲记得给分哦#include stdio
main()
int i,s;
avr v;
for(i=1;i<=100;i++)
s=s+i;
v=s;
printf…………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式