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

2025-03-22 01:51:19
推荐回答(3个)
回答(1):

int i;

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

int n,sum=0;

int i;

printf("plese input n=");

……

还有

……

for(i=0;i

{

if(i%5==0)

……

这里的for循环 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

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

 {

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

  {

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

   sum=fib(i)+sum;

  }

 }

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

 for(i=0;i

 {

  if(i%5==0)

   printf("\n");

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

 }

 printf("\n");

}

回答(2):

主函数里第二个for括号里分号错写成了逗号。

回答(3):

#include
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);
}
其实这是一道简单题 不用这么复杂的去写的