C语言:要求1.输入n,输出n个数字(如输入5,输出1,2,3,4,5)2.找出其中能被3整除的数并求和,求高手
#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");
} 展开
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");
}
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