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;

}

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

取消

评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

halcon学习笔记——(4)HDevelop language(结构语句)

1) if ... endif / if ... else ... endif / if ... elseif ... else ... endif 2) for ... endfor 3) while ... endwhile 4) repeat ... until(循环体至少被执行一次,直到满足条件时退出。等同于C语言的do...while语句) 此外,也…

c语言 字符串分隔,c语言字符串分割–strtok | 逗号分隔-huangea的博客

c语言字符串分割–strtok | 逗号分隔 代码,原理是使用字符串分隔函数Strtok()函数详解:该函数包含在”string.h”头文件中函数原型:char* strtok (char* str,constchar* delimiters );函数功能:切割字符串,将str切分成…

Qt+ArcGIS Engine 10.1 开发(一)

Qt作为一个跨平台C图形用户界面应用程序开发框架,相当于微软的MFC(只能运行在Windows平台上),Qt命运多舛,几经易主,现在属于芬兰IT服务公司Digia。 Qt环境安装 Qt的最新版本是Qt5.0,该版本是在12月中旬发布的,在这里我…

c语言 返回函数是结构体指针变量,一个函数返回值为指向结构体的指针的问题...

一个函数返回值为指向结构体的指针的问题#include #include struct student{int num;char name[10];struct student *next;}struct student *creat(int x) //这里不知道为什么错??{struct student *head,*p,*q;int i;for(i0;i{p(struct student*)malloc(…

分享30个新鲜PSD网站模板免费下载

Web 设计始终是设计师充满挑战性的工作。他们需要的专业技能和与的伟大想法,来完成一个设计良好的网站。某个时候设计师需要帮助几个免费的资源,以使工作更轻松。这篇文章是一个完美的解决方案,为网站设计的资源。在这里我们目前 30 新鲜 PSD…

C语言编程快速入门黎明,何用C语言模拟键盘输入?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼static char szUnd[] "_______ __ ____ _____ ______ ______ ___ _______ ______";//在窗口中输出文字作为信息标题HDC hdc;PAINTSTRUCT ps;TEXTMETRIC tm;switch (iMsg){case WM_CREATE://处理窗口创建的消息hdc GetDC…

如何创建基本的高级队列之一:创建发送方代码

/* 基本组成 发送方(DB1): Queue type :决定发送消息的类型 Queue table :消息发送的载体 Queue :队列 Subscriber :订购者,同一个队列可以有n个订购者 Propagation :传播…

c语言编程 float p,C语言编程经典例题

学习c语言编程的实战例题,非常典型的题目:编写一个函数,输入n为偶数时,调用函数求1/21/4...1/n,当输入n为奇数时,调用函数1/11/3...1/n(利用指针函数)1.程序分析:2.程序源代码:#include “stdio.h“ float …

c语言mergesort 参数,归并排序C语言兑现MergeSort

归并排序C语言实现MergeSort是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divideand Conquer)的一个非常典型的应用。算法伪码&#xff1a;MERGE-SORT(A&#xff0c;p, r)if p < rthen q (p r) / 2MERGE-SORT(A&#xff0c;p, q)MERGE-SORT(A&#xff0c…

WPF中打印问题的探讨[转]

转自&#xff1a;http://blog.sina.com.cn/s/blog_624dc0120100ld6m.html 最近在做一个WPF方面的项目&#xff0c;在打印功能实现上费了很大劲。因为我原来是在做Winform方面的项目&#xff0c;接受WPF时感觉还很相似&#xff0c;可仔细往里做下去却发现两者外看相似&#xff0…

语法分析树(先看例子再看定义)

语法分析树&#xff08;先看例子再看定义&#xff09; 先讲例子 书上讲问题&#xff0c;先讲定义&#xff0c;一顿学术操作&#xff0c;让人云里雾里&#xff0c;然后出例子。其实这样往往让人觉得看书的过程就是放弃的过程。 关于语法分析树&#xff0c;我先从上篇文章的例…

C语言正函数nosign,C语言标准库函数查询手册.docx

球锣宜软瘠旱塾3abort功能异常终止程序头文件StdIib.h语法VOid abort(void);abs功能整数的绝对值头文件StdIib.h语法int abs(int: j);返回值整数j的绝对值。如果不能表示J的绝对值&#xff0c;那么函数的行为是未定义的。absread功能读磁盘绝对扇区函数头文件dos ? h语法int a…

spring 实例化bean的几种方法

1.普通的通过构造函数初始化&#xff0c;没有指定构造函数参数的就是用默认的无参的构造方法 <bean id"exampleBean" class"examples.ExampleBean"/><bean name"anotherExample" class"examples.ExampleBeanTwo"/> 构造函…

middle函数C语言,C语言函数调用栈(三)

6 调用栈实例分析本节通过代码实例分析函数调用过程中栈帧的布局、形成和消亡。6.1 栈帧的布局示例代码如下&#xff1a;//StackReg.c#include //获取函数运行时寄存器%ebp和%esp的值#define FETCH_SREG(_ebp, _esp) do{\asm volatile( \"movl %%ebp, %0 \n" \"…

c语言多个形参,C中子函数最多有几个形参

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼C89 31个&#xff0c;C99 127个。ANSI C892.2.4.1 Translation limitsThe implementation shall be able to translate and execute at least one program that contains at least one instance of every one of the following lim…

什么叫ERP软件

1.ERP是什么&#xff1f; erp是个管理系统&#xff01;是一个成套的统称&#xff01;构成&#xff1a;进销存BOM生产MRP质检(IQC/FQC/PQC)车间日报/简单排产应收应付固定资产实际成本算法自动财务。就是通过软件管理&#xff0c;实现最小的库存和最大的利益&#xff01; 2.什么…

android 杀 服务器,android busybox httpd搭建简单web服务器

安卓手机利用busybox中的httpd命令可以创建一个简单的web服务器。我们可以在终端模拟器中输入一下命令查看httpd的使用帮助。busybox httpd --help1|u0_a84cancro:/ $ busybox httpd --helpBusyBox v1.20.2-MIUI (2012-08-20 20:59:32 CST) multi-call binary.Usage: httpd [-i…