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;
}
运行截图: