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"); }
主函数里第二个for括号里分号错写成了逗号。
#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);
}
其实这是一道简单题 不用这么复杂的去写的