本文主要是介绍十字星递归算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
十字星递归算法(OK,我也不知道这叫什么图形,姑且就叫十字星吧):
void shizixing(int starti,int temp,int endi) //starti:起始数字,temp:临时存储终止数字,endi:终止数字
{if(endi>starti){shizixing(starti,temp,--endi);int si=starti;int it=temp+starti-endi-1;while (si<=temp){printf("%d",si<it?si:it);++si;}--si;while(--si>=starti){printf("%d",si>it?it:si);}printf("\n");}else if(endi<starti){if(starti-1!=endi)shizixing(--starti,temp,endi);else --starti;int si=endi;while (si<=temp){printf("%d",si<starti?si:starti);++si;}--si;while(--si>=endi){printf("%d",si>starti?starti:si);}printf("\n");}else{shizixing(temp,temp,endi);int si=endi;while (si<=temp){printf("%d",si);++si;}--si;while(--si>=starti){printf("%d",si);}printf("\n");}
}
这篇关于十字星递归算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!