首页 > 代码库 > c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码
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,输出斐波纳猰数列——自己打的代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。