c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码
Posted 樱桃挚爱丸子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码相关的知识,希望对你有一定的参考价值。
从键盘上输入一个整数n,输出斐波纳猰数列
程序代码如下:
1 /* 2 2017年3月5日10:35:17 3 功能:n的阶乘采用的是递归方式实现 4 */ 5 6 #include "stdio.h" 7 long fun(int n) //注意此处的fun()是调用函数,两者之间没有空格 8 { 9 if (n > 1) //此处跳出递归的条件是当n = 1时 10 return (n * fun(n -1)); //当n的值满足条件或n = 2时程序还会执行该条语句 11 12 return 1; 13 } 14 15 int main (void) 16 { 17 int n; 18 /* 19 while (1) 20 { 21 printf ("请从键盘中获取n的数值:\n"); 22 scanf ("%d",&n); 23 if (n >= 0) 24 break; 25 else 26 printf ("负数是没有阶乘,请重新输入新的数值:\n"); 27 } 28 */ 29 while (printf ("请从键盘中获取n的数值:\n")) //死循环,其目的是为了直至输入一个符合条件的值, 30 { 31 scanf ("%d",&n); //在while()语句中非零(包括是一个表达式)为真,零为假 32 if (n >= 0) 33 break; 34 else 35 printf("负数没有阶乘,请重新输入新的数值\n"); 36 } 37 printf ("n! = %ld\n",fun(n)); //此处要求按照按%ld的格式输出,主要是防止数据过大而导致数据溢出 38 39 return 0; 40 } 41 /* 42 总结: 43 —————————————————————————————————————————— 44 1、%d表示输入/出为整数 45 %ld表示输入/出为长整型 46 2、实数型 47 %f没有必要写成%lf,双精度、单精度输出控制符是一样的。 48 当然是double类型时,写成printf("%lf\n",x);也不错 49 3、在VC++6.0中显示的结果: 50 ——————————————————————————— 51 请从键盘中获取n的数值: 52 6 53 n! = 720 54 ——————————————————————————— 55 —————————————————————————————————————————— 56 */
程序代码亮点归纳:
1 while (printf ("请从键盘中获取n的数值:\n")) //死循环,其目的是为了直至输入一个符合条件的值, 2 { 3 scanf ("%d",&n); //在while()语句中非零(包括是一个表达式)为真,零为假 4 if (n >= 0) 5 break; 6 else 7 printf("负数没有阶乘,请重新输入新的数值\n"); 8 } 9 printf ("n! = %ld\n",fun(n)); //此处要求按照按%ld的格式输出,主要是防止数据过大而导致数据溢出 10
分析:
此部分的目的是为了获取到一个合法的数值,如果不合法,一直输到合法为止,合法时,想要跳出循环,此处采用的是break。
注解:break语句是跳出当前的循环体,而continue语句则是结束本次循环。
以上是关于c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码的主要内容,如果未能解决你的问题,请参考以下文章
用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数及其对应的数组下标值
C语言考试:从键盘输入整数n(n的值不超过10),编程求n!+(n+1)!