开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情
计算机二级C语言程序设计题
题目:
打印所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=111+555+333。
#include <stdio.h>
#include <stdlib.h>
int fun()
{
?
}
main()
{
FILE *wf;
int sum;
sum=fun();
wf=fopen("out.dat","w");
printf("flower is %d\n", sum);
fprintf(wf, "%d\n", sum);
fclose(wf);
system("pause");
}
解题思路:
利用求余算法和除法分别取得三位数的个位、十位、百位,再判断三位数其各位数字立方和是否等于该数本身,如果等于,则该数就是水仙花数,同时对水仙花数的个数进行累加求和,并作为返回值返回到主函数.
参考答案:
int fun()
{
int count=0, sum, i;
int a , b, c, s;
for(i=100; i<=999; i++)
{
a=i%10;
b=i/10%10;
c=i/100;
sum=a*a*a+b*b*b+c*c*c;
if(sum==i)
{
count++;
}
}
return count;
}
结果如下:
补充:
- 跳转语句使用方式作用说明goto跳转到程序的任意位置使用不当会造成代码的可读性差,可维护性差,基本上不用break;
- 跳出最近的一个循环或者switch如果是循环中的switch中的break只能跳出switch,如果是多层循环只能跳出最近的一个循环continue;
- 跳过当前的一轮循环,进入下一轮循环只能和在循环中使用.跳过当前循环,进入下一轮循环return 返回值;或者return;
- 跳出当前函数主函数中的return会跳出主函数(跳出主函数也就意味着程序结束),其余函数的return是跳出当前的函数.可以跳出多层循环。