湖北主持人有哪些:c 帮我找错!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 23:05:14
某商品因换季准备打折出售,如按定价的七五折卖赔25元,而按定价的九折出售赚20元,这商品定价多少?成本价是多少?
main()
{
float i,j;
for(i=0;i<=1000;i+=1) /*i是进价,j是售价,采取穷举法*/
for(j=0;j<=1000;j+=1)
if(i-j*0.75==25.0&&j*0.9-i==20.0)
break;
if(i==1001.0||j==1001.0) /*确信进价售价都不超过1000元*/
printf("error!\n");
else
printf("jinjia shi :%f yuan\ndingjia shi :%f yuan\n",i,j);
}
for(j=0;j<=1000;j+=1)
if(i-j*0.75==25.0&&j*0.9-i==20.0)
break;
这循环有问题,只跳出了j的循环,i继续,因此输出的是error !怎么能跳出多重的循环?

sjujn :
编译通过 ,运行没输出啊

容易求解,进价是250,售价是300,哪位高人能用穷举法给解一下吧.

#include<stdio.h>
void main()
{
float i,j;
for(i=0;i<=1000;i+=1) /*i是进价,j是售价,采取穷举法*/
for(j=0;j<=1000;j+=1)
{
if(i-j*0.75==25.0&&j*0.9-i==20.0&&(double)i!=1001.0&&(double)j!=1001.0)
printf("jinjia shi :%f yuan\ndingjia shi :%f yuan\n",i,j);
if(i==1001.0||j==1001.0) /*确信进价售价都不超过1000元*/
printf("error!\n");
}
}

break语句只能跳出当前循环,不能跳出循环嵌套,你可以使用带有标号的break或直接用goto语句试一试

if(i==1001.0||j==1001.0) /*确信进价售价都不超过1000元*/
改为
if(j==1001.0) /*确信进价售价都不超过1000元*/

不能判断i.

main()
{
float i,j;/*i = 进价 j = 售出价*/
while (i*0.75 - j == 25 && j - i*0.9 == 20)
{
i++;
j++;
}
loop;
printf("jinjia shi :%f yuan \n dingjia shi :%f yuan \n ",i,j);

float 类型不能做比较运算!!!!