C语言:要求1.输入n,输出n个数字(如输入5,输出1,2,3,4,5)2.找出其中能被3整除的数并求和,求高手

求解这个哪里错了为啥运行不了呢><#include<stdio.h>intfib(inti){if(i==0||i==1)returni;elsereturnfib(i-... 求解这个哪里错了 为啥运行不了呢> <
#include<stdio.h>
int fib(int i)
{if(i==0||i==1)
return i;
else return fib(i-1)+fib(i-2);
}
void main()
{
int n,sum=0;
printf("plese input n=");
scanf("%d",&n);
int i;
for(i=0;i<n;i++)
{
if(fib(i)%3==0)
printf("%-4d",fib(i));
}
sum=fib(i)+sum;
printf("The sum is=%-4d",sum);
for(i=0;i<n,i++)
{
if(i%5==0)
printf("\n");
printf("%12d",fib(i));
}
printf("\n");
}
展开
 我来答
貌似風輕
2013-04-21 · TA获得超过7280个赞
知道大有可为答主
回答量:1672
采纳率:94%
帮助的人:707万
展开全部

int i;

这句最好提到执行语句的前面,不然在C89标准下会报错

int n,sum=0;

int i;

printf("plese input n=");

……

还有

……

for(i=0;i<n,i++)

{

if(i%5==0)

……

这里的for循环 i<n 和 i++ 中间的分号你写成了逗号

 

sum=fib(i)+sum;这局应该加到

if(fib(i)%3==0)语句下,这样才是能被3整除的数的和

if(fib(i)%3==0)

  {

   printf("%-4d",fib(i));

   sum=fib(i)+sum;

  }

整个改完之后是:

#include<stdio.h>

int fib(int i)

{

 if(i==0||i==1)

  return i;

 else 

  return fib(i-1)+fib(i-2);

}

void main()

{

 int n,sum=0;

 int i;

 printf("plese input n=");

 scanf("%d",&n);

 for(i=0;i<n;i++)

 {

  if(fib(i)%3==0)

  {

   printf("%-4d",fib(i));

   sum=fib(i)+sum;

  }

 }

 printf("The sum is=%-4d",sum);

 for(i=0;i<n;i++)

 {

  if(i%5==0)

   printf("\n");

  printf("%12d",fib(i));

 }

 printf("\n");

}

细雨檐牙
2013-04-21 · TA获得超过488个赞
知道答主
回答量:116
采纳率:100%
帮助的人:139万
展开全部
主函数里第二个for括号里分号错写成了逗号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永不言弃940711
2013-04-21 · 超过12用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:32万
展开全部
#include<stdio.h>
int main()
{
int n,i,sum=0;
scanf("%d",&n);
for(i=1;i<=5;i++)
printf("%d ",i);
printf("\n");
for(i=1;i<=5;i++)
if(i%3==0)
sum+=i;
printf("%d\n",sum);
}
其实这是一道简单题 不用这么复杂的去写的
追问
是因为最近学函数 所以老师要求要用这种方法的啦T T
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式