永发信息网

编程问题,请帮忙?

答案:3  悬赏:80  手机版
解决时间 2021-04-11 16:20
  • 提问者网友:送舟行
  • 2021-04-11 10:41

1、求1-3+5-7.....-99的值

2、计算半径为1、3、5、7、9时圆的面积

3、求1!+2!+3!+4!+.......10!的值

4、把一元的钱全部换成1分、2分、5分的硬币,有多少种兑换方法?

5、百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两小马驮一担。各大、中、小马各有多少匹?

最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-04-11 10:49

第一题:


给你提供两种方法


方法一: 利用一个符号位,一直在正负1之间交替.来乘以i的值.
#include <stdio.h>


main()
{
int i,j=1,sum=0;
for(i=1;i<100;i+=2)
{
sum+=i*j;
j*=-1;
}
printf("sum=%d\n",sum);
}


方法二:将1-3+5-7.....-99中的正数和负数分开求和. 然后将正数的结果减去负数的结果.
#include<stdio.h>
main()
{
int i,j,sum=0,t=0,p=0;
for(i=1;i<99;i=i+4)
t+=i;
for(j=3;j<100;j=j+4)
p+=j;
sum=t-p;
printf("sum=%d",sum);
}



第二题:


#include <stdio.h>


main()
{
float area;
int r;
const PI=3.1415;

for(r=1;r<=9;r+=2) //圆半径循环从1到9.步长为2. 所以是1 3 5 7 9;
{
area=PI*r*r; //面积的计算公式是π*r平方.
printf("area=%.3f\n",area); //输出每一次的面积.
}
}



第三题:


#include <stdio.h>


main()
{
int sum=0,t=1,i; //由于只是求1!累加到10!.所以int类型就可以放得下结果.
for(i=1;i<=10;i++)
{
t*=i; //t是计算每个数的阶乘.
sum+=t; //sum是累加每个数的阶乘.
}

printf("sum=%d\n",sum);
}

第四题:

#include <stdio.h>


main()
{
int i,j,k,count=0;
for(i=0;i<=20;i++)
for(j=0;j<=50;j++)
for(k=0;k<=100;k++)
if(k+2*j+5*i==100)
count++;
printf("count=%d\n",count);
}


第五题: 因为可能存在大马或者中马或者小马为0匹的情况. 所以循环从0开始.


#include <stdio.h>


main()
{
int i,j,k;
for(i=0;i<=33;i++)
for(j=0;j<=50;j++)
for(k=0;k<=100;k++)
{
if((i+j+k==100)&&(3*i+2*j+k/2.0)==100)
printf("大马:%d,中马:%d,小马:%d\n",i,j,k);

}
}

全部回答
  • 1楼网友:长青诗
  • 2021-04-11 12:52
y=0 for i=1 to 50 if(i%2=0) i=i*(-1)+1 else i=i*2-1 end if y=y+i next 业余的,很久没用,错误之处请见谅
  • 2楼网友:白昼之月
  • 2021-04-11 12:02
L太过火,一次问这么多,但又不说仔要答客或是编程语句.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯