程序通过提示“Please enter a number:”接受用户输入的整数n,如果n是正整数,则给出Fibonacci系列的前n个数;否则退出程序!~
小弟刚学C不久,对算法了解甚少,所以解题常常不得思路,望各位高手多多提点。
#include<stdio.h>
main()
{
long a,b;
int x;a=1;b=1;
for(x=1;x<=20;x++)
{
printf("%16ld%16ld",a,b);
if(x%2==0) //即每四个数字为一行
printf("\n");
a=b+a;
b=a+b;
}
}
//那就用这个 做法吧
那就写个函数实现~~
只要自己输入N,并将N传入到函数里面就可以了~~
Fibonacci函数你应该会写吧~~
只要scanf("%d",&n);
void main()
{
int n;
unsigned long curr, next1, next2;
printf("Please enter a number: ");
scanf("%d", &n);
if(n > 0) {
printf("Fibonacci numbers :", n);
for(curr = next1 = 1, next2 = 2 ; n--; ) {
printf(" %lu", curr);
curr = next1, next = next2, next2 += curr;
}
printf(" (leading %d)\n");
} else {
printf("%d is negative number.\n");
}
}
/*照书抄,加几个控制语句,控制输出的个数.*/
#include<stdio.h>
main()
{
int n ;
printf("Please enter a number:");
scanf("%d", &n);
if(n>0){
int a,b,c,count=0;
b=1;
for( a=1 ; count<n; )
{
printf("%5ld",a);
a=a+b;count++;
if(count>=n) continue;
printf("%5ld",a);
printf("\n");
b=a+b;count++;
}
}
}