该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
void pan(int i)
{
double sum=0,a[100]={0};
int tmp,j=0,k;
double count=1;
tmp=i;
k=i;
while(tmp/10!=0)//判断该数的位数
{
tmp/=10;
count=count+1.0;
}
if(count<3)
{
printf("%d不是水仙花数",i);
}
else
{
while(j
{
a[j]=k%10;
k=k/10;
j++;
}
for(j=0;j
{
sum=sum+pow(a[j],count);
}
if(sum==i)
{
printf("%d是水仙花数",i);
}
else
{
printf("%d不是水仙花数",i);
}
}
}
int main()
{
int i;
scanf("%d",&i);
pan(i);
system("pause");return 0;
}
这是第一段需要拿出来的
-------------------------------------------------
插入到下面这段的case3中
#include
#include
#include
int main (void)
{ int select;
int g;
double q,w,e;
double delta;
double x1,x2;
char ch;
printf("数字游戏\n1:解一元二次方程\n2: 判断指定年份是否是闰年\n3:判断某一数字是否是水仙花数\n");
printf("选择一个游戏(输入1或2或3)\n");
scanf("%d",&select);
switch(select)
{
case 1:printf("1\n");
printf("请输入方程的系数!\n");
scanf("%lf %lf %lf",&q,&w,&e);
delta=w*w-4*q*e;
if(delta>0)
{
x1=(-w-sqrt(delta)/2*q);
x2=(-w+sqrt(delta)/2*q);
printf("有两个不同的解集 x1=%lf x2=%lf\n",x1,x2);
}
else if(delta==0)
{
x1=(-w/2*q);
x2=(-w/2*q);
printf("有两个相同的解集 x1=%lf x2=%lf\n",x1,x2);
}
else
{
printf("无实数解集\n");
}
printf("是否继续?(y/n)");
scanf(" %c",&ch);
if(ch=='y'||ch=='Y');
else
break;
case 2:printf("2\n");
printf("请输入年份\n");
scanf("%d",&g);
if((g%100!=0&&g%4==0)||g%400==0)
printf("%d年是闰年\n",g);
else
printf("%d年不是闰年\n",g);
break; case 3:printf("3\n"); break;
default:printf("请输入有效字符\n");
main();
}
return 0;
}