这个哪错了请指教下

orochicom 2010-04-02 09:46:56
#include <stdio.h>
void main()
{
int a=1,b=1,c=1,d,n;
scanf("%d",&n);
for(d=1;3*d<n;d++)
{
a=c+a;
b=a+b;
c=b+c;

}
if(n%3=1)n=a;
else if(n%3=2)n=b;
else n=c;
printf("%d",n);
}
求的是个数学问题,一个农场的牛4年成年,成年后每年都生一只小牛,第一年有一只小牛,然后问第N年有多少只牛
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanchristin 2010-04-02
  • 打赏
  • 举报
回复
#include <stdio.h>
void main()
{
int a=1,b=1,c=1,d,n;
scanf("%d",&n);
for(d=1;3*d<n;d++)
{
a=c+a;
b=a+b;
c=b+c;

}
if(n%3==1)n=a;//比较运算符是"=="
else if(n%3==2)n=b;
else n=c;
printf("%d",n);
}
roy6706 2010-04-02
  • 打赏
  • 举报
回复
#include <stdio.h>
int main(void) //個人習慣先打int 再回傳return 0,
{ //我是覺得這樣比較不會因為平台不同而有影響
int n,a=1,b=1,c=1,d;;
scanf("%d",&n)
for(d=1;3*d <n;d++)
{
a=c+a;
b=a+b;
c=b+c;
}
if(n%3==1) n=a;
else if(n%3==2) n=b;
else n=c;

printf("%d \n\n",n);
return 0;
}

最主要就是在判斷的時候,if裡面,等於是"=="

要兩個"="才是等於的意思!!

另外也建議你縮排(藉由空格和空行排整齊)一下~程式會比較好看
chaoliu1024 2010-04-02
  • 打赏
  • 举报
回复
  if(n%3==1) //"=="为比较运算符,"="为赋值运算符
n=a;
else if(n%3==2)
n=b;
orochicom 2010-04-02
  • 打赏
  • 举报
回复
知道了……
if(n%3=1)n=a;
else if(n%3=2)n=b;
给赋值了……

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧