1、输入2个正整数m和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之和是否等于其自身。
#include<stdio.h> #include<math.h> /*调用数学函数*/ int main(void) { int m,n,i; int is(int number); /*自定义is函数*/ printf("Enter m,n:"); scanf("%d%d",&m,&n); for(i=m;i<=n;i++){ if(i==is(i)) /*判断函数是否等于其自身*/ printf("%d\n",i); } return 0; } int is(int i) { int a,sum; sum=0; do{ a=i%10; sum=sum+a*a*a; i=i/10; /*求各数字的立方和*/ } while(i!=0); return sum; }
2.编写一个程序,判断从键盘接收的数字是否为回文数字。回文数字就是顺着看和倒着看是相同的数。如121、656、2332等
#include<stdio.h> int main(void) { int m,n,i; i=0; printf("Enter a number:"); scanf("%d",&m); n=m; while(m) /*m是个函数式,作为 while( ){ } 语句的参数,如果m≠0,则执行{}中的语句,否则执行while语句之后的语句*/ { i=i*10+m%10; m/=10; /*循环使数m进行倒叙*/ } if(n==i) /*判断n与i是否相等,若相等则执行下行语句*/ printf("是回文。\n"); else printf("不是回文。\n"); return 0; }
3、找出11~999之间的所有的三重回文数字。所谓三重回文数a就是指a、a2、a3都是回文数字
4、输入x、n后输出下列算式的值,fact(n)实现n!,mypow(x,n)实现x^n。