制作一个菜单程序,运用函数调用,实现下面功能: 1.输出所有的水仙花数 2.输出斐波那契数列 3.输出n内素数 4.输出n内完数 要求如下:情况1:学生需要制作一个系统欢迎界面,要求使用者输入密码,输入密码成功后进入此系统。 情况2:输入正确,进入功能界面,实现每一个功能,实现后回到菜单选项,当按0时重新进入系统。 情况3:密码输入错误只有三次机会,若输入三次错误,或者输入0,将退出本系统。
时间: 2023-03-31 15:05:09 浏览: 51
我可以回答这个问题。以下是菜单程序的代码:
#include <stdio.h>
#include <stdlib.h>
int isNarcissistic(int num); // 判断水仙花数
void narcissistic(int n); // 输出所有的水仙花数
void fibonacci(int n); // 输出斐波那契数列
int isPrime(int num); // 判断素数
void prime(int n); // 输出n内素数
int isPerfect(int num); // 判断完数
void perfect(int n); // 输出n内完数
int main() {
int choice, password, count = ;
printf("欢迎使用菜单程序!\n");
while (1) {
printf("请输入密码:");
scanf("%d", &password);
if (password == 123456) {
printf("密码正确,欢迎进入系统!\n");
while (1) {
printf("请选择功能:\n");
printf("1.输出所有的水仙花数\n");
printf("2.输出斐波那契数列\n");
printf("3.输出n内素数\n");
printf("4.输出n内完数\n");
printf(".重新进入系统\n");
scanf("%d", &choice);
switch (choice) {
case 1:
narcissistic(100);
break;
case 2:
fibonacci(20);
break;
case 3:
prime(100);
break;
case 4:
perfect(100);
break;
case :
printf("重新进入系统\n");
break;
default:
printf("输入错误,请重新输入!\n");
break;
}
if (choice == ) {
break;
}
}
} else {
count++;
if (count == 3) {
printf("密码错误三次,退出本系统!\n");
exit();
}
printf("密码错误,请重新输入!\n");
}
}
return ;
}
int isNarcissistic(int num) {
int sum = , temp = num;
while (temp != ) {
sum += (temp % 10) * (temp % 10) * (temp % 10);
temp /= 10;
}
if (sum == num) {
return 1;
} else {
return ;
}
}
void narcissistic(int n) {
printf("所有的水仙花数:\n");
for (int i = 100; i <= n; i++) {
if (isNarcissistic(i)) {
printf("%d ", i);
}
}
printf("\n");
}
void fibonacci(int n) {
int a = , b = 1, c;
printf("斐波那契数列:\n");
printf("%d %d ", a, b);
for (int i = 3; i <= n; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
printf("\n");
}
int isPrime(int num) {
if (num <= 1) {
return ;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == ) {
return ;
}
}
return 1;
}
void prime(int n) {
printf("%d内的素数:\n", n);
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int isPerfect(int num) {
int sum = ;
for (int i = 1; i < num; i++) {
if (num % i == ) {
sum += i;
}
}
if (sum == num) {
return 1;
} else {
return ;
}
}
void perfect(int n) {
printf("%d内的完数:\n", n);
for (int i = 2; i <= n; i++) {
if (isPerfect(i)) {
printf("%d ", i);
}
}
printf("\n");
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)