求C语言高手改错解析,我是小白,谢谢拉

我国古代著名的孙子定理也称韩信点兵。用现代语言讲是:有一个数,用3除余2,用5除余3,用7除余2,求满足条件的最小数。#include<stdio.h>voidmain(... 我国古代著名的孙子定理也称韩信点兵。用现代语言讲是:有一个数,用3除余2,用5除余3,用7除余2,求满足条件的最小数。
#include<stdio.h>
void main()
{
int i;
for(i=1;i<=1000;i++)
{
if(i%3==2&&i%5==3&&i%7==2)
{
printf("最小数是:%d\n",&i);
}
}
}
为什么一个数都没有?这个题目如何做呢?谢谢拉
展开
 我来答
hwm_2012
2013-01-17 · TA获得超过966个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:407万
展开全部
问题最大的是那句 printf("最小数是:%d\n",&i); 输出语句,不需要取地址, &i 错

#include<stdio.h>
void main()
{
int i;
for(i=1;!(i%3==2&&i%5==3&&i%7==2);i++);
printf("最小数是:%d\n",&i);
}
l521088816
2013-01-17 · TA获得超过1772个赞
知道小有建树答主
回答量:780
采纳率:0%
帮助的人:1049万
展开全部

#include<stdio.h>

void main()

{

 int i,min=1000;

 for(i=1;i<=1000;i++)

 {

  if(i%3==2&&i%5==3&&i%7==2)

  {

   if(min>i)

    min=i;

  }

 }

 printf("最小数是:%d\n",min);

}

你的printf("最小数是:%d\n",&i);这句话不要&这个符号,这个符号是地址的意思

而scanf()中必须要有&这个符号(指针除外),因为赋值只能给地址的变量赋值

你要用一个变量把其中的最小值表示出来

用min和已经筛选出来的数相比,如果min比这个数大,就把min变成这个数

或者这样也可以:

#include<stdio.h>

void main()

{

 int i,min;

 for(i=1000;i>0;i--)

 {

  if(i%3==2&&i%5==3&&i%7==2)

  {

   min=i;

  }

 }

 printf("最小数是:%d\n",min);

}

因为i是一直递减的,所以只要能满足前面的条件,最后一个数肯定比前面的小

同理,这样也可以:

#include<stdio.h>

void main()

{

 int i;

 for(i=1;i<=1000;i++)

 {

  if(i%3==2&&i%5==3&&i%7==2)

  {

   printf("最小数是:%d\n",i);

    break;

  }

 }

}

因为i是递增的,所以第一个数肯定是最小的,输出后用break;退出for循环就可以了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿拉武侠
2013-01-17 · 超过34用户采纳过TA的回答
知道答主
回答量:184
采纳率:100%
帮助的人:66.4万
展开全部
printf("最小数是:%d\n",&i);

这个有问题
输出的应该为i值,不是i的地址。
改为:printf("最小数是:%d\n",i);
你再看看
void mian()
{
int i,num=0;

for(i=0;num==0;i++)
{
if(i%3==2 && i%5==3 && i%7 == 2)
{ num = i;break;}

}
printf("最小数是:%d\n",i);
}

结果应该是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木子思曰
2013-01-17 · TA获得超过144个赞
知道小有建树答主
回答量:279
采纳率:28%
帮助的人:76.1万
展开全部
你在写的时候,有几个问题
1 不要单纯的说什么从1-1000的循环来找这个数
2 printf这个函数的格式你用错了,i前面的&不需要加的 ,加的意思 就一不一样了 是取地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhy122151
2013-01-17
知道答主
回答量:49
采纳率:0%
帮助的人:19.6万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式