# include & ltmath.h & gt
void armstrong(int a)
{
int I;
int n = 1;
int b = a;
int s = 0;
而(b/= 10)n++;
b = a;
for(I = 0;我& ltn;i ++){
s += (int)pow(b%10,n);
b/= 10;
}
if(s == a){
Printf("%d是水仙花的數量!\n ",a);
}否則{
Printf("%d不是水仙花號!\n ",a);
}
}
void prime(int a)
{
int I;
如果(a & lt2) {
Printf("%d不是質數!\n ",a);
返回;
}
for(I = 2;我& lta;i ++){
if(a % i == 0) {
Printf("%d不是質數!\n ",a);
返回;
}
}
Printf("%d是質數!\n ",a);
}
void max(int a,int b,int c)
{
如果(b & gta)a = b;
if(c & gt;a)a = c;
Printf("最大值為:%d\n ",a);
}
void階乘(int a)
{
int I;
int f = 1;
for(I = a;我& gt1;我-)
f * = I;
printf(" % d "的階乘是:%d\n ",a,f);
}
int main(int argc,char **argv)
{
int a,b,c;
int類型;
int run = 1;
Printf("這個程序可以完成壹些數學計算:\ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n "
"* 1.確定壹個數是否是水仙花數。*\n "
"* 2.判斷壹個數是否是質數。*\n "
"* 3.找出三個數的最大值。*\n "
"* 4.求壹個數的階乘。*\n "
"* 0.退出。*\n "
“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n”);
做{
Printf("請按菜單選擇(0-4):");
scanf("%d ",& amp類型);
開關(類型){
案例0:
while(1){
getchar();
Printf("妳確定要退出嗎?(y/n)");
a = getchar();
開關(a){
案例“y”:
run = 0;
打破;
案例“n”:
run = 1;
打破;
默認值:
打破;
}
if((a = = ' y ')| |(a = = ' n '))break;
}
打破;
案例1:
Printf("請輸入壹個數字:");
scanf("%d ",& ampa);
阿姆斯特朗(a);
打破;
案例二:
Printf("請輸入壹個數字:");
scanf("%d ",& ampa);
質數(a);
打破;
案例三:
Printf("請輸入三個數字:");
scanf("%d%d%d ",& amp壹,& ampb & amp;c);
max(a,b,c);
打破;
案例4:
Printf("請輸入壹個數字:");
scanf("%d ",& ampa);
階乘(a);
打破;
默認值:
打破;
}
}while(跑);
返回0;
}