c语言问题啊啊6-2 使用函数输出指定范围内的Fibonacci数(20 分)本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:int fib( int n );void PrintFN( int m, int n );其中函数fib须返回第n项Fibonacci数;函数PrintFN要在一行中输出给定范围[m, n]内的所有Fibonacci数,相邻数字间有一个空格,行末不得有多余空格。如果给定区间内没有Fibonacci数,则输出一行“No Fibonacci number”。裁判测试程序样例:#include <stdio.h>int fib( int n );void PrintFN( int m, int n ); int main() int m, n, t; scanf("%d %d %d", &m, &n, &t); printf("fib(%d) = %d\n", t, fib(t)); PrintFN(m, n); return 0;/* 你的代码将被嵌在这里 */输入样例1:20 100 7输出样例1:fib(7) = 1321 34 55 89输入样例2:2000 2500 8输出样例2:fib(8) = 21No Fibonacci number
int fib(int n) int i, x1, x2, x; x=0; x1=1; x2=1; for (i=3; i<=n; i++) x=x1+x2; x1=x2; x2=x; if (n==1 || n==2) x=1; return x;void PrintFN(int m, int n) int i, count, index, flag; index=0; flag=0; i=1; while (fib(i) < 10000) i++; count = i; for (i = 1; i < count; i++) if (fib(i) >= m && fib(i) <= n) flag = 1; index++; if (index == 1) printf("%d", fib(i)); continue; printf(" %d", fib(i)); if (!flag) printf("No Fibonacci number"); putchar('\n');
该类可以进行占位符填写
如下
String msg = "啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊{0}{1}{2}{3}{4}{5}{6}{7}{8}哦哦哦哦哦哦哦哦哦哦哦哦";
Object [] array = new Object[]{"A","B","C","D","E","F","G","H","I",};
String value = MessageFormat.format(msg, array);
System.out.println(value); // 输出:啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊ABCDEFGHI哦哦哦哦哦哦哦哦哦哦哦哦
如何让他不解析指定的中括号呢?
将中括号使用单引号引起来
String str=" ‘{‘code:{1},info:{2},message:{3} ‘}‘ ";
这种可以避免过于频繁的操作字符串了