1.
/*1.素数
2.水仙花数
3.回文数
4.亲密数*/
//注:亲密数做不来,选择亲密数会出错。
#include <stdio.h>
#include <stdlib.h>
void sxh (int i)
{
int a,b,c;
if (i<1000 && i>99)
{
a=i/100;
b=i%100/10;
c=i%10;
if (i==a*a*a+b*b*b+c*c*c)
printf ("%d\t",i);
}
}
void ss (int n)
{
int i;
int j;
int flag = 1;
for(i = 2;i <=n;i++)
{
for(j = 2;j <= i / 2;j++)
{
if(i % j ==0)
{
flag = 0;
break;
}
}
if(flag == 1)
{
printf("%d\t",i);
}
flag = 1;
}
}
void hws (int i)
{
int a,b,c,d;
if (i>9 && i<100)
{
a=i/10;
b=i%10;
if (a==b)
printf ("%d\t",i);
}
if (i>99 && i<1000)
{
a=i/100;
c=i%10;
if (a==c)
printf ("%d\t",i);
}
if (i>999 && i<10000)
{
a=i/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
if (a==d && b==c)
printf ("%d\t",i);
}
}
void qms (int i)
{
int j,m,n;
int term=0,sum=0;
for (i;i>1;i--)
{
for (j=0;j<i;j++)
{
if (i%j==0)
sum=sum+j;
}
}
for (m=i-1;m>1;m--)
{
for (n=0;n<m;n++)
{
if (m%n==0)
term=term+n;
}
}
if (term==sum)
printf ("%d,%d\t",i,m);
}
int main()
{
int n,i,x;
printf ("请输入范围<0~n> n:");
scanf ("%d",&n);
printf ("请输入所求的特殊数<以数字形式输入>:\n");
printf (" 退出<0>\n");
printf (" 素数<1>\n");
printf (" 水仙花数<2>\n");
printf (" 回文数<3>\n");
printf (" 亲密数<4>\n");
scanf ("%d",&x);
switch (x)
{
case 0:
break;
case 2:
printf ("水仙花数为:\n");
for (i=0;i<=n;i++)
{
sxh (i);
}
break;
case 1:
printf ("素数为:\n");
ss (n);
break;
case 3:
printf ("回文数为:");
for (i=0;i<=n;i++)
{
hws (i);
}
break;
case 4:
qms (i);
break ;
}
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,a[18];
printf ("请输入你的身份证号码,输入一次按一次回车键:");
for (i=0;i<18;i++)
{
scanf ("%d",&a[i]);
}
printf("年:");
for(i=6;i<=9;i++)
{
printf ("%d",a[i]);
}
printf ("\n");
printf("月:");
for(i=10;i<=11;i++)
{
printf ("%d",a[i]);
}
printf ("\n");
printf("日:");
for(i=12;i<=13;i++)
{
printf ("%d",a[i]);
}
return 0;
}