计算机二级C语言程序设计题

214 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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;
}

结果如下:

1.png

补充:

  1. 跳转语句使用方式作用说明goto跳转到程序的任意位置使用不当会造成代码的可读性差,可维护性差,基本上不用break;
  2. 跳出最近的一个循环或者switch如果是循环中的switch中的break只能跳出switch,如果是多层循环只能跳出最近的一个循环continue;
  3. 跳过当前的一轮循环,进入下一轮循环只能和在循环中使用.跳过当前循环,进入下一轮循环return 返回值;或者return;
  4. 跳出当前函数主函数中的return会跳出主函数(跳出主函数也就意味着程序结束),其余函数的return是跳出当前的函数.可以跳出多层循环。