网站开发设计的地域分析,做网站需要的东西,手机如何做微电影网站,无锡短视频seo面向过程编程的一般思路#xff1a;分析问题-设计流程和模块-编码和测试-改进并总结做算法问题的一般思路#xff1a;先用数学方法计算分析#xff0c;充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前#xff0c;先要确定程序的大体框架…面向过程编程的一般思路分析问题-设计流程和模块-编码和测试-改进并总结做算法问题的一般思路先用数学方法计算分析充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前先要确定程序的大体框架可以自己先试着用伪代码描述整个算法然后再一步步的确定应该怎么编码。最后验证结果并反思能否改进算法。本题思路1.在草稿纸上简单的分析发现这个报数过程可以用数组来模拟。2.建一个21位的数组数组索引代表每个人的编号数组值代表1代表在圈中0代表离开。3.在只剩一人之前不断的循环报数故考虑用while循环。4.while没循环一次就相当于报一个数(num)如果此时报的数能被5整除就把数组索引(i)处的值改为0然后下一个人报数(i)。i大于21的时候需要把i变成i除21的余数(人是围成一个圈编号21的下一位是1)。5.考虑一般情况所以把人数和报数倍数定义为宏就能只修改宏的值就能计算所有的此类问题#include #include #define N 21//人数#define M 5//报数的倍数int main(){int i,num,//报的数字left N,//圈子剩余的人数people[N];//1表示还在圈中0表示出去for(i0;ipeople[i]1;//开始报数i0;num0;//报数一个回合while(left1){if(iN)ii%N;if(people[i]1){num;if(num%M0){people[i]0;--left;}}i;//继续报}for(i0;i{if(people[i]1)printf(Id:%d,i1);}getch();return 0;}编程很难一蹴而就。自己完全独立的完成一些问题由易到难循序渐进。就能慢慢进步。取消评论