1.水仙花数是指一个n位数,每一位数字的n次幂的和正好等于这个数本身。
比如:153 = 13 + 53 + 33。
要求打印出所有三位数的水仙花数。
#include <stdio.h>
#include <math.h>
int main()
{
int i,x,y,z;
for(i=100;i<1000;i++)
{
x=i/100%10;
y=i/10%10;
z=i%10;
if(i==pow(z,3)+pow(y,3)+pow(x,3))
{
printf("%d\n",i);
}
}
return 0;
}
运行截图:
2.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。数组定义(a[10]={1,2,3,4,5,6,7,8,9,10})
#include <stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[10],*p,*q,m,i,j,n=0,s=0;
p=a;
q=b;
scanf("%d",&m);
for(i=0;i<10-m;i++)
{
*(q+i+m)=*(p+i);
}
p=a;
for(i=10-m;i<10;i++)
{
*(q+n)=*(p+i);
n++;
}
for(i=0;i<10;i++)
{
printf("%d ",b[i]);
}
return 0;
}
运行截图:
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int s[10]={0},b[10]={0};
int i,j,m;
scanf("%d",&m);
for(i=0;i<10;i++)
{
if(i>=m)
{
b[i]=a[i];
printf("%d ",b[i]);
}
}
for(i=0;i<10;i++)
{
if(i<m)
{
s[i]=a[i];
printf("%d ",s[i]);
}
}
return 0;
}
运行截图: