|
发表于 2020-12-8 22:09:03
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编写完成-个“菜单”的功能,提供3种途径选择;
选项1:求水仙花数(100-999)
选项2:找出2-n之间所有的素数。
国收选项3:输出斐波那契数列的第n项。
主函数内提示菜单内容:让用户进行选择菜单。
如果选择1,则执行出的结果是选项1;如果选择2,则执行出的结果是选项2;如果选择3,则执行出的结果是选项3;
- #include <stdio.h>
- int f(int n);
- int main()
- {
- int bai, shi, ge, n, num;
- printf("请选择功能: 1、100 - 999的水仙花数,2、2 - n之间所有的素数,3、输出斐波那契数列的第n项\n");
- scanf("%d", &num);
- switch (num)
- {
- case 1:
- {
- for (n = 100;n <= 999;n++) /*整数的取值范围*/
- {
- bai = n / 100;
- shi = (n - bai * 100) / 10;
- ge = n % 10;
- if (n == bai * bai * bai + shi * shi * shi + ge * ge * ge) /*各位上的立方和是否与原数n相等*/
- printf("%d ", n);
- }
- printf("\n");
- break;
- }
- case 2:
- {
- int i, j, k = 0;
- printf("请输入区间的上限:");
- scanf("%d", &n);
- for (i = 2;i <= n;i++)
- {
- for (j = 2;j < n / 2;j++)
- {
- if (i % j == 0)
- break;
- }
- if (i == j)
- {
- printf("%d ", i);
- k++;
- }
- }
- printf("\n");
- break;
- }
- case 3:
- {
- printf("求斐波拉契第几项?");
- scanf("%d", &n);
- printf("%d\n", f(n));
- }
- }
- }
- int f(int n)
- {
- int sum = 0;;
- if (n >= 3)
- {
- sum = f(n - 1) + f(n - 2);
- }
- else
- {
- sum = 1;
- }
- return sum;
- }
复制代码
|
|