搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 编写一个程序,求[100,999]之间的符合条件的数。 1)素数(2)完全数(3)水仙花数(4)回文数
标题:
编写一个程序,求[100,999]之间的符合条件的数。 1)素数(2)完全数(3)水 ...
只看楼主
小郭
该用户已被删除
楼主
已结贴
√
问题点数:20 回复次数:3
编写一个程序,求[100,999]之间的符合条件的数。 1)素数(2)完全数(3)水仙花数(4)回文数
提示:
作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子:
素数
水仙花
回文
完全数
2010-06-03 17:50
myhnuhai
等 级:
青峰侠
威 望:
3
帖 子:425
专家分:1725
注 册:2010-3-17
第
2
楼
得分:5
#include<stdio.h>
int f(int j)
{
int sum=0,i;
for(i=1;i<j;i++)
if(j%i==0)sum=sum+i;
return sum;
}
void main()
{
int sushu(int x);
void shuixh(int x);
void huiwen(int x);
int n,i;
printf("请输入n的值(1-5):");
scanf("%d",&n);
switch(n)
{
case 2:
for(i=100;i<=999;i++)
{
if(i==f(i))
printf("%d ",i);
}
break;
case 1:
for(i=100;i<=999;i++)
if(sushu(i)==1)
printf("%d ",i);
break;
case 3:
for(i=100;i<=999;i++)
shuixh(i);
break;
case 4:
for(i=100;i<=999;i++)
huiwen(i);
break;
case 5:
printf("quit\n");
break;
default :
printf("请正确选择!");
}
}
int sushu(int x)
{
int i,k;
for(i=2;i<x/2;i++)
{
if(x%2==0) { k=0;break;}
else
k=1;
}
return k;
}
void shuixh(int x)
{
int i,j,k;
i=x/100;
j=(x%100)/10;
k=x%10;
if(x==i*i*i+j*j*j+k*k*k)
printf("%d ",x);
}
void huiwen(int x)
{
int i,k;
i=x/100;
k=x%10;
if(i==k)
printf("%d ",x);
}
不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-03 18:57
myhnuhai
等 级:
青峰侠
威 望:
3
帖 子:425
专家分:1725
注 册:2010-3-17
第
3
楼
得分:15
改了一下输出格式:
#include<stdio.h>
int f(int j)
{
int sum=0,i;
for(i=1;i<j;i++)
if(j%i==0)sum=sum+i;
return sum;
}
void main()
{
int sushu(int x);
void shuixh(int x);
void huiwen(int x);
int n,i;
printf("请输入n的值(1-5):");
scanf("%d",&n);
switch(n)
{
case 2:
for(i=100;i<=999;i++)
{
if(i==f(i))
printf("%6d ",i);
}
break;
case 1:
for(i=100;i<=999;i++)
if(sushu(i)==1)
printf("%6d ",i);
break;
case 3:
for(i=100;i<=999;i++)
shuixh(i);
break;
case 4:
for(i=100;i<=999;i++)
huiwen(i);
break;
case 5:
printf("quit\n");
break;
default :
printf("请正确选择!");
}
}
int sushu(int x)
{
int i,k;
for(i=2;i<x/2;i++)
{
if(x%2==0) { k=0;break;}
else
k=1;
}
return k;
}
void shuixh(int x)
{
int i,j,k;
i=x/100;
j=(x%100)/10;
k=x%10;
if(x==i*i*i+j*j*j+k*k*k)
printf("%6d ",x);
}
void huiwen(int x)
{
int i,k;
i=x/100;
k=x%10;
if(i==k)
printf("%6d ",x);
}
不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-03 18:59
小郭
该用户已被删除
第
4
楼
得分:0
改一下就可以了
提示:
作者被禁止或删除 内容自动屏蔽
2010-06-06 20:23
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-309182-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.208975 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved