1177 - C语言7.1

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

用数组来处理Fibonacci数列并输出。

题目输入

一个不超过40且大于2的整数n,表示需要处理并输出的Fibonacci数个数。

题目输出

输出前n个Fibonacci数,每行输出5个值,按每12位向右对齐的方式输出。

请注意不要在第一行前输出一个空行,并请注意行尾输出换行。

输入/输出样例

输入格式

19

输出格式

           1           1           2           3           5
           8          13          21          34          55
          89         144         233         377         610
         987        1597        2584        4181

C语言解答

#include<stdio.h>
int main(){
int a[200];
int n,i;
scanf("%d",&n);
  for(i=0;i<n;i++){
    if(i==0 || i==1)
      a[i]=1;
    else
      a[i]=a[i-1]+a[i-2];
    }
  for(i=0;i<n;i++){
    if(i%5==0 && i!=0)
      printf("\n");
    printf("%12d",a[i]);
  }
  printf("\n");
return 0;
}

C++解答

#include <stdio.h>
int main() {
	int n, i;
	int f[40] = {1, 1};
	scanf("%d", &n);
	for (i = 2;i < n;i++)
		f[i] = f[i - 2] + f[i - 1];
	for (i = 0;i < n;i++) {
		printf("%12d", f[i]);
		if ((i + 1) % 5 == 0) puts("");
	}
	puts("");
	return 0;
}

Java解答

import java.util.Scanner;


public class Main {
	public static void main(String[] args) {
		int  m=1,n=1,result=0;
		Scanner cin = new Scanner(System.in);
		int cishu2  = cin .nextInt();
		int cishu = 0 ;
		while(true)
		{
			if( cishu == 0 || cishu ==1 )
			{
				System.out.printf("%12d",1);
				cishu ++;
			}
			else
			{
				cishu++;
				result = m+n;
				System.out.printf("%12d",result);
				int temp = 0 ;
				m = n ;
				n = result; 
				if( cishu % 5 == 0 )System.out.println();
				
			}
			if( cishu == cishu2 )break;
		}

	}

}