解题思路:    利用调用函数使主函数更加简洁。



注意事项:    ◆调用函数写在主函数前面,或者在主函数中对需要调用的函数进行声明;◆函数可能有些臃肿,建议自己再进行修正。▓



参考代码:

#includeint hw(int k,int n,int f)                //k是循环中的每一个数,依次增加;n是各个位数之和;f是标记变量
{
	int a=0,b=k;
	int s,m=0;
	while(1){                            //用while循环来判断回文数和各个位数之和
		s=k%10;
		m+=s;                        //m用来计算各个位数之和,以便后续判断
		a=a*10+s;
		k/=10;
		if(k==0)                       //当k为0时跳出去循环,防止死循环
			break;
	}	
	if(a==b&&m==n)                        //判断是否为回文数且各个位数之和是否和输入值相等
	{
		f=0;                            //当有输出时,变量的值发生变化
		printf("%d\n",a);            //输出条件符合的数值
	}
	return f;                            //返回变量的最终值(这里我也不是特别清楚,没有返回的话标记变量的值不会变化,
	                                                            主函数中任意输入值的输出结果 都会带有-1)
}
int main(){
	int n,s=0,i,f=1,g;                //f是用来标记的变量,以此来确定是否有输出
	scanf("%d",&n);
	for(i=10000;i<1000000;i++){        //题目要求,直接用循环条件
		f=hw(i,n,f);                调用hw函数,(个人觉得会使主函数简洁一些,当然代码行数可能会增加¥¥¥)
	}
	if(f)                                //如果f为1,则没有输出,此时输出-1;
		printf("-1\n");
	return 0;
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论