c语言如何开发应用程序,怎样用c语言编写软件?如许多小的程序。

面向过程编程的一般思路:分析问题->设计流程和模块->编码和测试->改进并总结

做算法问题的一般思路:先用数学方法计算分析,充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前,先要确定程序的大体框架,可以自己先试着用伪代码描述整个算法,然后再一步步的确定应该怎么编码。最后验证结果并反思能否改进算法。

本题思路: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(i=0;i

people[i]=1;

//开始 数

i=0;

num=0;

// 数一个回合

while(left>1)

{

if(i>=N)

i=i%N;

if(people[i]==1)

{

++num;

if(num%M==0)

{

people[i]=0;

–left;

}

}

++i;//继续

}

for(i=0;i

{

if(people[i]==1)

printf(“Id:%d”,i+1);

}

getch();

return 0;

}

编程很难一蹴而就。自己完全独立的完成一些问题,由易到难循序渐进。就能慢慢进步。

取消

评论

相关资源:GHOST系统只剩C盘数据恢复软件_ghost分区丢失只剩c盘数据恢复…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月13日
下一篇 2021年4月13日

相关推荐