第一题就是一个简单的输出,需要注意的就是一下两点:
1,所有的字符均为英文格式下的字符。
2,结尾换行(尤其是pta,需要注意格式)
#include <stdio.h>
int main()
{
printf("Hello World!\n") ;
printf("I'm a C++ program.\n") ;
return 0 ;
}
第二题要求我们输出100~999范围内的水仙花数,根据水仙花树的定义(个位十位百位的立方和等于它本身),我们可以从100开始枚举,取出每一位数,求立方和。
延伸:如果给定一个数(不确定是几位数),判断其是否为水仙花数
#include <stdio.h>
int main()
{
for(int i = 100 ; i <= 999 ; i ++)
{
int a = i / 100 , b = (i / 10) % 10 , c = i % 10 ;
if(a * a * a + b * b * b + c * c * c == i)
printf("%d\n",i) ;
}
return 0 ;
}
第三题也是一个简单的枚举,唯一的难点就是如何判断这个数是否对称,当然因为题目给定的数值可以确定答案也是五位数像上题一样取出每位数字判断,也可以使用while循环每次取出最后一位数字。这样一来第二题的延伸也可以得到解决了。
#include <stdio.h>
int main()
{
for(int i = 95859 + 1 ; ; i ++)
{
int x = i , u = 0 ;
while(x > 0)
{
u = u * 10 + x % 10 ;
x /= 10 ;
}
if(u == i)
{
printf("%d\n",i) ;
break ;
}
}
return 0 ;
}