C语言程序设计 源代码+注释 C语言程序设计加注释完成下列要求

\u8bfb\u61c2\u6240\u7ed9\u7a0b\u5e8f\u7684C\u8bed\u8a00\u6e90\u4ee3\u7801\uff0c\u52a0\u6ce8\u91ca

#include
#define uchar unsigned char //\u5b8f\u5b9a\u4e49
#define uint unsigned int //\u5b8f\u5b9a\u4e49
uchar code DSY_Index[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//\u6570\u7801\u7ba1\u4f4d\u7801
uchar code BCD_CODE[]={2,0,1,0,10,3,10,5};//\u5f85\u663e\u793a\u6570\u5b57\uff0810\u4e3a\u4e0d\u663e\u793a\uff09
//\u5ef6\u65f6
void DelayMS(uint ms)
{
uchar i;
while(ms--)
for(i=0;i<120;i++);
}
//\u4e3b\u7a0b\u5e8f
void main()
{
uchar k;
while(1)
{
for(k=0;k<8;k++)//\u5faa\u73af\u516b\u6b21
{
P2=DSY_Index[k];//\u4f4d\u7801\u9001P2\u53e3\u9010\u4e2a\u4f4e\u7535\u5e73
P1=BCD_CODE[k];
DelayMS(1);
}
}
}
//\u4f60\u6839\u672c\u5c31\u6ca1\u5199\u6bb5\u7801\uff0c\u4f60\u7684P1\u53e3\u8f93\u51fa\u7684\u662f\u4e8c\u8fdb\u5236\u663e\u793a\uff0c\u6bd4\u5982k=0\u65f6P1.1\u53e3\u8f93\u51fa\u9ad8\u7535\u5e73\u3002\u8fd9\u662f\u4e2a\u4e0d\u5b8c\u6574\u7684\u7a0b\u5e8f

C\u8bed\u8a00\u7f16\u7a0b\u89c4\u8303-\u6ce8\u91ca

\u3000\u3000\u89c4\u5219:
1\uff1a\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u6e90\u7a0b\u5e8f\u6709\u6548\u6ce8\u91ca\u91cf\u5fc5\u987b\u572820\uff05\u4ee5\u4e0a\u3002
\u8bf4\u660e\uff1a\u6ce8\u91ca\u7684\u539f\u5219\u662f\u6709\u52a9\u4e8e\u5bf9\u7a0b\u5e8f\u7684\u9605\u8bfb\u7406\u89e3\uff0c\u5728\u8be5\u52a0\u7684\u5730\u65b9\u90fd\u52a0\u4e86\uff0c\u6ce8\u91ca\u4e0d\u5b9c\u592a\u591a\u4e5f\u4e0d\u80fd\u592a\u5c11\uff0c\u6ce8\u91ca\u8bed\u8a00\u5fc5\u987b\u51c6\u786e\u3001\u6613\u61c2\u3001\u7b80\u6d01\u3002
2\uff1a\u8bf4\u660e\u6027\u6587\u4ef6\uff08\u5982\u5934\u6587\u4ef6.h\u6587\u4ef6\u3001.inc\u6587\u4ef6\u3001.def\u6587\u4ef6\u3001\u7f16\u8bd1\u8bf4\u660e\u6587\u4ef6.cfg\u7b49\uff09\u5934\u90e8\u5e94\u8fdb\u884c\u6ce8\u91ca\uff0c\u6ce8\u91ca\u5fc5\u987b\u5217\u51fa\uff1a\u7248\u6743\u8bf4\u660e\u3001\u7248\u672c\u53f7\u3001\u751f\u6210\u65e5\u671f\u3001\u4f5c\u8005\u3001\u5185\u5bb9\u3001\u529f\u80fd\u3001\u4e0e\u5176\u5b83\u6587\u4ef6\u7684\u5173\u7cfb\u3001\u4fee\u6539\u65e5\u5fd7\u7b49\uff0c\u5934\u6587\u4ef6\u7684\u6ce8\u91ca\u4e2d\u8fd8\u5e94\u6709\u51fd\u6570\u529f\u80fd\u7b80\u8981\u8bf4\u660e\u3002
\u793a\u4f8b\uff1a\u4e0b\u9762\u8fd9\u6bb5\u5934\u6587\u4ef6\u7684\u5934\u6ce8\u91ca\u6bd4\u8f83\u6807\u51c6\uff0c\u5f53\u7136\uff0c\u5e76\u4e0d\u5c40\u9650\u4e8e\u6b64\u683c\u5f0f\uff0c\u4f46\u4e0a\u8ff0\u4fe1\u606f\u5efa\u8bae\u8981\u5305\u542b\u5728\u5185\u3002
/*************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
File name: // \u6587\u4ef6\u540d
Author:
Version:
Date: // \u4f5c\u8005\u3001\u7248\u672c\u53ca\u5b8c\u6210\u65e5\u671f
Description: // \u7528\u4e8e\u8be6\u7ec6\u8bf4\u660e\u6b64\u7a0b\u5e8f\u6587\u4ef6\u5b8c\u6210\u7684\u4e3b\u8981\u529f\u80fd\uff0c\u4e0e\u5176\u4ed6\u6a21\u5757
// \u6216\u51fd\u6570\u7684\u63a5\u53e3\uff0c\u8f93\u51fa\u503c\u3001\u53d6\u503c\u8303\u56f4\u3001\u542b\u4e49\u53ca\u53c2\u6570\u95f4\u7684\u63a7
// \u5236\u3001\u987a\u5e8f\u3001\u72ec\u7acb\u6216\u4f9d\u8d56\u7b49\u5173\u7cfb
Others: // \u5176\u5b83\u5185\u5bb9\u7684\u8bf4\u660e
Function List: // \u4e3b\u8981\u51fd\u6570\u5217\u8868\uff0c\u6bcf\u6761\u8bb0\u5f55\u5e94\u5305\u62ec\u51fd\u6570\u540d\u53ca\u529f\u80fd\u7b80\u8981\u8bf4\u660e
1. ....
History: // \u4fee\u6539\u5386\u53f2\u8bb0\u5f55\u5217\u8868\uff0c\u6bcf\u6761\u4fee\u6539\u8bb0\u5f55\u5e94\u5305\u62ec\u4fee\u6539\u65e5\u671f\u3001\u4fee\u6539
// \u8005\u53ca\u4fee\u6539\u5185\u5bb9\u7b80\u8ff0
1. Date:
Author:
Modification:
2. ...
*************************************************/
3\uff1a\u6e90\u6587\u4ef6\u5934\u90e8\u5e94\u8fdb\u884c\u6ce8\u91ca\uff0c\u5217\u51fa\uff1a\u7248\u6743\u8bf4\u660e\u3001\u7248\u672c\u53f7\u3001\u751f\u6210\u65e5\u671f\u3001\u4f5c\u8005\u3001\u6a21\u5757\u76ee\u7684/\u529f\u80fd\u3001\u4e3b\u8981\u51fd\u6570\u53ca\u5176\u529f\u80fd\u3001\u4fee\u6539\u65e5\u5fd7\u7b49\u3002
\u793a\u4f8b\uff1a\u4e0b\u9762\u8fd9\u6bb5\u6e90\u6587\u4ef6\u7684\u5934\u6ce8\u91ca\u6bd4\u8f83\u6807\u51c6\uff0c\u5f53\u7136\uff0c\u5e76\u4e0d\u5c40\u9650\u4e8e\u6b64\u683c\u5f0f\uff0c\u4f46\u4e0a\u8ff0\u4fe1\u606f\u5efa\u8bae\u8981\u5305\u542b\u5728\u5185\u3002
/************************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
FileName: test.cpp
Author:
Version :
Date:
Description: // \u6a21\u5757\u63cf\u8ff0
Version: // \u7248\u672c\u4fe1\u606f
Function List: // \u4e3b\u8981\u51fd\u6570\u53ca\u5176\u529f\u80fd
1. -------
History: // \u5386\u53f2\u4fee\u6539\u8bb0\u5f55

David 96/10/12 1.0 build this moudle
***********************************************************/
\u8bf4\u660e\uff1aDescription\u4e00\u9879\u63cf\u8ff0\u672c\u6587\u4ef6\u7684\u5185\u5bb9\u3001\u529f\u80fd\u3001\u5185\u90e8\u5404\u90e8\u5206\u4e4b\u95f4\u7684\u5173\u7cfb\u53ca\u672c\u6587\u4ef6\u4e0e\u5176\u5b83\u6587\u4ef6\u5173\u7cfb\u7b49\u3002History\u662f\u4fee\u6539\u5386\u53f2\u8bb0\u5f55\u5217\u8868\uff0c\u6bcf\u6761\u4fee\u6539\u8bb0\u5f55\u5e94\u5305\u62ec\u4fee\u6539\u65e5\u671f\u3001\u4fee\u6539\u8005\u53ca\u4fee\u6539\u5185\u5bb9\u7b80\u8ff0\u3002

4\uff1a\u51fd\u6570\u5934\u90e8\u5e94\u8fdb\u884c\u6ce8\u91ca\uff0c\u5217\u51fa\uff1a\u51fd\u6570\u7684\u76ee\u7684/\u529f\u80fd\u3001\u8f93\u5165\u53c2\u6570\u3001\u8f93\u51fa\u53c2\u6570\u3001\u8fd4\u56de\u503c\u3001\u8c03\u7528\u5173\u7cfb\uff08\u51fd\u6570\u3001\u8868\uff09\u7b49\u3002
\u793a\u4f8b\uff1a\u4e0b\u9762\u8fd9\u6bb5\u51fd\u6570\u7684\u6ce8\u91ca\u6bd4\u8f83\u6807\u51c6\uff0c\u5f53\u7136\uff0c\u5e76\u4e0d\u5c40\u9650\u4e8e\u6b64\u683c\u5f0f\uff0c\u4f46\u4e0a\u8ff0\u4fe1\u606f\u5efa\u8bae\u8981\u5305\u542b\u5728\u5185\u3002

/*************************************************
Function: // \u51fd\u6570\u540d\u79f0
Description: // \u51fd\u6570\u529f\u80fd\u3001\u6027\u80fd\u7b49\u7684\u63cf\u8ff0
Calls: // \u88ab\u672c\u51fd\u6570\u8c03\u7528\u7684\u51fd\u6570\u6e05\u5355
Called By: // \u8c03\u7528\u672c\u51fd\u6570\u7684\u51fd\u6570\u6e05\u5355
Table Accessed: // \u88ab\u8bbf\u95ee\u7684\u8868\uff08\u6b64\u9879\u4ec5\u5bf9\u4e8e\u7275\u626f\u5230\u6570\u636e\u5e93\u64cd\u4f5c\u7684\u7a0b\u5e8f\uff09
Table Updated: // \u88ab\u4fee\u6539\u7684\u8868\uff08\u6b64\u9879\u4ec5\u5bf9\u4e8e\u7275\u626f\u5230\u6570\u636e\u5e93\u64cd\u4f5c\u7684\u7a0b\u5e8f\uff09
Input: // \u8f93\u5165\u53c2\u6570\u8bf4\u660e\uff0c\u5305\u62ec\u6bcf\u4e2a\u53c2\u6570\u7684\u4f5c
// \u7528\u3001\u53d6\u503c\u8bf4\u660e\u53ca\u53c2\u6570\u95f4\u5173\u7cfb\u3002
Output: // \u5bf9\u8f93\u51fa\u53c2\u6570\u7684\u8bf4\u660e\u3002
Return: // \u51fd\u6570\u8fd4\u56de\u503c\u7684\u8bf4\u660e
Others: // \u5176\u5b83\u8bf4\u660e
*************************************************/

5\uff1a\u8fb9\u5199\u4ee3\u7801\u8fb9\u6ce8\u91ca\uff0c\u4fee\u6539\u4ee3\u7801\u540c\u65f6\u4fee\u6539\u76f8\u5e94\u7684\u6ce8\u91ca\uff0c\u4ee5\u4fdd\u8bc1\u6ce8\u91ca\u4e0e\u4ee3\u7801\u7684\u4e00\u81f4\u6027\u3002\u4e0d\u518d\u6709\u7528\u7684\u6ce8\u91ca\u8981\u5220\u9664\u3002
6\uff1a\u6ce8\u91ca\u7684\u5185\u5bb9\u8981\u6e05\u695a\u3001\u660e\u4e86\uff0c\u542b\u4e49\u51c6\u786e\uff0c\u9632\u6b62\u6ce8\u91ca\u4e8c\u4e49\u6027\u3002
\u8bf4\u660e\uff1a\u9519\u8bef\u7684\u6ce8\u91ca\u4e0d\u4f46\u65e0\u76ca\u53cd\u800c\u6709\u5bb3\u3002
7\uff1a\u907f\u514d\u5728\u6ce8\u91ca\u4e2d\u4f7f\u7528\u7f29\u5199\uff0c\u7279\u522b\u662f\u975e\u5e38\u7528\u7f29\u5199\u3002
\u8bf4\u660e\uff1a\u5728\u4f7f\u7528\u7f29\u5199\u65f6\u6216\u4e4b\u524d\uff0c\u5e94\u5bf9\u7f29\u5199\u8fdb\u884c\u5fc5\u8981\u7684\u8bf4\u660e\u3002
8\uff1a\u6ce8\u91ca\u5e94\u4e0e\u5176\u63cf\u8ff0\u7684\u4ee3\u7801\u76f8\u8fd1\uff0c\u5bf9\u4ee3\u7801\u7684\u6ce8\u91ca\u5e94\u653e\u5728\u5176\u4e0a\u65b9\u6216\u53f3\u65b9\uff08\u5bf9\u5355\u6761\u8bed\u53e5\u7684\u6ce8\u91ca\uff09\u76f8\u90bb\u4f4d\u7f6e\uff0c\u4e0d\u53ef\u653e\u5728\u4e0b\u9762\uff0c\u5982\u653e\u4e8e\u4e0a\u65b9\u5219\u9700\u4e0e\u5176\u4e0a\u9762\u7684\u4ee3\u7801\u7528\u7a7a\u884c\u9694\u5f00\u3002
\u793a\u4f8b\uff1a\u5982\u4e0b\u4f8b\u5b50\u4e0d\u7b26\u5408\u89c4\u8303\u3002

\u4f8b1\uff1a
/* get replicate sub system index and net indicator */

repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
\u4f8b2\uff1a
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
\u5e94\u5982\u4e0b\u4e66\u5199
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
9\uff1a\u5bf9\u4e8e\u6240\u6709\u6709\u7269\u7406\u542b\u4e49\u7684\u53d8\u91cf\u3001\u5e38\u91cf\uff0c\u5982\u679c\u5176\u547d\u540d\u4e0d\u662f\u5145\u5206\u81ea\u6ce8\u91ca\u7684\uff0c\u5728\u58f0\u660e\u65f6\u90fd\u5fc5\u987b\u52a0\u4ee5\u6ce8\u91ca\uff0c\u8bf4\u660e\u5176\u7269\u7406\u542b\u4e49\u3002\u53d8\u91cf\u3001\u5e38\u91cf\u3001\u5b8f\u7684\u6ce8\u91ca\u5e94\u653e\u5728\u5176\u4e0a\u65b9\u76f8\u90bb\u4f4d\u7f6e\u6216\u53f3\u65b9\u3002
\u793a\u4f8b\uff1a
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000

#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10\uff1a\u6570\u636e\u7ed3\u6784\u58f0\u660e(\u5305\u62ec\u6570\u7ec4\u3001\u7ed3\u6784\u3001\u7c7b\u3001\u679a\u4e3e\u7b49)\uff0c\u5982\u679c\u5176\u547d\u540d\u4e0d\u662f\u5145\u5206\u81ea\u6ce8\u91ca\u7684\uff0c\u5fc5\u987b\u52a0\u4ee5\u6ce8\u91ca\u3002\u5bf9\u6570\u636e\u7ed3\u6784\u7684\u6ce8\u91ca\u5e94\u653e\u5728\u5176\u4e0a\u65b9\u76f8\u90bb\u4f4d\u7f6e\uff0c\u4e0d\u53ef\u653e\u5728\u4e0b\u9762\uff1b\u5bf9\u7ed3\u6784\u4e2d\u7684\u6bcf\u4e2a\u57df\u7684\u6ce8\u91ca\u653e\u5728\u6b64\u57df\u7684\u53f3\u65b9\u3002
\u793a\u4f8b\uff1a\u53ef\u6309\u5982\u4e0b\u5f62\u5f0f\u8bf4\u660e\u679a\u4e3e/\u6570\u636e/\u8054\u5408\u7ed3\u6784\u3002
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user's unit data transmission request*/
};
11\uff1a\u5168\u5c40\u53d8\u91cf\u8981\u6709\u8f83\u8be6\u7ec6\u7684\u6ce8\u91ca\uff0c\u5305\u62ec\u5bf9\u5176\u529f\u80fd\u3001\u53d6\u503c\u8303\u56f4\u3001\u54ea\u4e9b\u51fd\u6570\u6216\u8fc7\u7a0b\u5b58\u53d6\u5b83\u4ee5\u53ca\u5b58\u53d6\u65f6\u6ce8\u610f\u4e8b\u9879\u7b49\u7684\u8bf4\u660e\u3002
\u793a\u4f8b\uff1a
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // \u53d8\u91cf\u4f5c\u7528\u3001\u542b\u4e49
/* 0 \uff0d SUCCESS 1 \uff0d GT Table error */
/* 2 \uff0d GT error Others \uff0d no use */ // \u53d8\u91cf\u53d6\u503c\u8303\u56f4
/* only function SCCPTranslate() in */
/* this modual can modify it, and other */
/* module can visit it through call */
/* the function GetGTTransErrorCode() */ // \u4f7f\u7528\u65b9\u6cd5
BYTE g_GTTranErrorCode;
12\uff1a\u6ce8\u91ca\u4e0e\u6240\u63cf\u8ff0\u5185\u5bb9\u8fdb\u884c\u540c\u6837\u7684\u7f29\u6392\u3002
\u8bf4\u660e\uff1a\u53ef\u4f7f\u7a0b\u5e8f\u6392\u7248\u6574\u9f50\uff0c\u5e76\u65b9\u4fbf\u6ce8\u91ca\u7684\u9605\u8bfb\u4e0e\u7406\u89e3\u3002
\u793a\u4f8b\uff1a\u5982\u4e0b\u4f8b\u5b50\uff0c\u6392\u7248\u4e0d\u6574\u9f50\uff0c\u9605\u8bfb\u7a0d\u611f\u4e0d\u65b9\u4fbf\u3002
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}

\u5e94\u6539\u4e3a\u5982\u4e0b\u5e03\u5c40\u3002
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}
13\uff1a\u5c06\u6ce8\u91ca\u4e0e\u5176\u4e0a\u9762\u7684\u4ee3\u7801\u7528\u7a7a\u884c\u9694\u5f00\u3002
\u793a\u4f8b\uff1a\u5982\u4e0b\u4f8b\u5b50\uff0c\u663e\u5f97\u4ee3\u7801\u8fc7\u4e8e\u7d27\u51d1\u3002
/* code one comments */
program code one
/* code two comments */
program code two

\u5e94\u5982\u4e0b\u4e66\u5199
/* code one comments */
program code one

/* code two comments */
program code two
14\uff1a\u5bf9\u53d8\u91cf\u7684\u5b9a\u4e49\u548c\u5206\u652f\u8bed\u53e5\uff08\u6761\u4ef6\u5206\u652f\u3001\u5faa\u73af\u8bed\u53e5\u7b49\uff09\u5fc5\u987b\u7f16\u5199\u6ce8\u91ca\u3002
\u8bf4\u660e\uff1a\u8fd9\u4e9b\u8bed\u53e5\u5f80\u5f80\u662f\u7a0b\u5e8f\u5b9e\u73b0\u67d0\u4e00\u7279\u5b9a\u529f\u80fd\u7684\u5173\u952e\uff0c\u5bf9\u4e8e\u7ef4\u62a4\u4eba\u5458\u6765\u8bf4\uff0c\u826f\u597d\u7684\u6ce8\u91ca\u5e2e\u52a9\u66f4\u597d\u7684\u7406\u89e3\u7a0b\u5e8f\uff0c\u6709\u65f6\u751a\u81f3\u4f18\u4e8e\u770b\u8bbe\u8ba1\u6587\u6863\u3002
15\uff1a\u5bf9\u4e8eswitch\u8bed\u53e5\u4e0b\u7684case\u8bed\u53e5\uff0c\u5982\u679c\u56e0\u4e3a\u7279\u6b8a\u60c5\u51b5\u9700\u8981\u5904\u7406\u5b8c\u4e00\u4e2acase\u540e\u8fdb\u5165\u4e0b\u4e00\u4e2acase\u5904\u7406\uff0c\u5fc5\u987b\u5728\u8be5case\u8bed\u53e5\u5904\u7406\u5b8c\u3001\u4e0b\u4e00\u4e2acase\u8bed\u53e5\u524d\u52a0\u4e0a\u660e\u786e\u7684\u6ce8\u91ca\u3002
\u8bf4\u660e\uff1a\u8fd9\u6837\u6bd4\u8f83\u6e05\u695a\u7a0b\u5e8f\u7f16\u5199\u8005\u7684\u610f\u56fe\uff0c\u6709\u6548\u9632\u6b62\u65e0\u6545\u9057\u6f0fbreak\u8bed\u53e5\u3002
\u793a\u4f8b\uff08\u6ce8\u610f\u659c\u4f53\u52a0\u7c97\u90e8\u5206\uff09\uff1a
case CMD_UP:
ProcessUp();
break;

case CMD_DOWN:
ProcessDown();
break;

case CMD_FWD:
ProcessFwd();

if (...)
{
...
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}

case CMD_A:
ProcessA();
break;

case CMD_B:
ProcessB();
break;

case CMD_C:
ProcessC();
break;

case CMD_D:
ProcessD();
break;
...
\u5efa\u8bae:
1\uff1a\u907f\u514d\u5728\u4e00\u884c\u4ee3\u7801\u6216\u8868\u8fbe\u5f0f\u7684\u4e2d\u95f4\u63d2\u5165\u6ce8\u91ca\u3002
\u8bf4\u660e\uff1a\u9664\u975e\u5fc5\u8981\uff0c\u4e0d\u5e94\u5728\u4ee3\u7801\u6216\u8868\u8fbe\u4e2d\u95f4\u63d2\u5165\u6ce8\u91ca\uff0c\u5426\u5219\u5bb9\u6613\u4f7f\u4ee3\u7801\u53ef\u7406\u89e3\u6027\u53d8\u5dee\u3002
2\uff1a\u901a\u8fc7\u5bf9\u51fd\u6570\u6216\u8fc7\u7a0b\u3001\u53d8\u91cf\u3001\u7ed3\u6784\u7b49\u6b63\u786e\u7684\u547d\u540d\u4ee5\u53ca\u5408\u7406\u5730\u7ec4\u7ec7\u4ee3\u7801\u7684\u7ed3\u6784\uff0c\u4f7f\u4ee3\u7801\u6210\u4e3a\u81ea\u6ce8\u91ca\u7684\u3002
\u8bf4\u660e\uff1a\u6e05\u6670\u51c6\u786e\u7684\u51fd\u6570\u3001\u53d8\u91cf\u7b49\u7684\u547d\u540d\uff0c\u53ef\u589e\u52a0\u4ee3\u7801\u53ef\u8bfb\u6027\uff0c\u5e76\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6ce8\u91ca\u3002
3\uff1a\u5728\u4ee3\u7801\u7684\u529f\u80fd\u3001\u610f\u56fe\u5c42\u6b21\u4e0a\u8fdb\u884c\u6ce8\u91ca\uff0c\u63d0\u4f9b\u6709\u7528\u3001\u989d\u5916\u7684\u4fe1\u606f\u3002
\u8bf4\u660e\uff1a\u6ce8\u91ca\u7684\u76ee\u7684\u662f\u89e3\u91ca\u4ee3\u7801\u7684\u76ee\u7684\u3001\u529f\u80fd\u548c\u91c7\u7528\u7684\u65b9\u6cd5\uff0c\u63d0\u4f9b\u4ee3\u7801\u4ee5\u5916\u7684\u4fe1\u606f\uff0c\u5e2e\u52a9\u8bfb\u8005\u7406\u89e3\u4ee3\u7801\uff0c\u9632\u6b62\u6ca1\u5fc5\u8981\u7684\u91cd\u590d\u6ce8\u91ca\u4fe1\u606f\u3002
\u793a\u4f8b\uff1a\u5982\u4e0b\u6ce8\u91ca\u610f\u4e49\u4e0d\u5927\u3002
/* if receive_flag is TRUE */
if (receive_flag)

\u800c\u5982\u4e0b\u7684\u6ce8\u91ca\u5219\u7ed9\u51fa\u4e86\u989d\u5916\u6709\u7528\u7684\u4fe1\u606f\u3002
/* if mtp receive a message from links */
if (receive_flag)
4\uff1a\u5728\u7a0b\u5e8f\u5757\u7684\u7ed3\u675f\u884c\u53f3\u65b9\u52a0\u6ce8\u91ca\u6807\u8bb0\uff0c\u4ee5\u8868\u660e\u67d0\u7a0b\u5e8f\u5757\u7684\u7ed3\u675f\u3002
\u8bf4\u660e\uff1a\u5f53\u4ee3\u7801\u6bb5\u8f83\u957f\uff0c\u7279\u522b\u662f\u591a\u91cd\u5d4c\u5957\u65f6\uff0c\u8fd9\u6837\u505a\u53ef\u4ee5\u4f7f\u4ee3\u7801\u66f4\u6e05\u6670\uff0c\u66f4\u4fbf\u4e8e\u9605\u8bfb\u3002
\u793a\u4f8b\uff1a\u53c2\u89c1\u5982\u4e0b\u4f8b\u5b50\u3002
if (...)
{
// program code

while (index < MAX_INDEX)
{
// program code
} /* end of while (index < MAX_INDEX) */ // \u6307\u660e\u8be5\u6761while\u8bed\u53e5\u7ed3\u675f
} /* end of if (...)*/ // \u6307\u660e\u662f\u54ea\u6761if\u8bed\u53e5\u7ed3\u675f
5\uff1a\u6ce8\u91ca\u683c\u5f0f\u5c3d\u91cf\u7edf\u4e00\uff0c\u5efa\u8bae\u4f7f\u7528"/* \u2026\u2026 */"\u3002
6\uff1a\u6ce8\u91ca\u5e94\u8003\u8651\u7a0b\u5e8f\u6613\u8bfb\u53ca\u5916\u89c2\u6392\u7248\u7684\u56e0\u7d20\uff0c\u4f7f\u7528\u7684\u8bed\u8a00\u82e5\u662f\u4e2d\u3001\u82f1\u517c\u6709\u7684\uff0c\u5efa\u8bae\u591a\u4f7f\u7528\u4e2d\u6587\uff0c\u9664\u975e\u80fd\u7528\u975e\u5e38\u6d41\u5229\u51c6\u786e\u7684\u82f1\u6587\u8868\u8fbe\u3002
\u8bf4\u660e\uff1a\u6ce8\u91ca\u8bed\u8a00\u4e0d\u7edf\u4e00\uff0c\u5f71\u54cd\u7a0b\u5e8f\u6613\u8bfb\u6027\u548c\u5916\u89c2\u6392\u7248\uff0c\u51fa\u4e8e\u5bf9\u7ef4\u62a4\u4eba\u5458\u7684\u8003\u8651\uff0c\u5efa\u8bae\u4f7f\u7528\u4e2d\u6587\u3002

采用广度优先搜索即可,程序如下:

char A[64][64]= {"..###","#....","#.#.#","#.#.#","#.#.."};//迷宫,A,R,C这里预设,实际请改成输入
int M[64][64] = {0}, //标记走过的点
R = 5, C = 5;

//判断点(x,y)是否可达
bool pass(int x, int y)
{
return x>=0 && x<=R && y>=0 && y<=C
&& A[x][y]=='.' && !M[x][y];
}
//广度搜索
int steps()
{
struct{ int x, y, depth;}Queue[256], t; //队列
int front = 0, rear = 0, //头尾指标
di[4][2] = {{1,0},{0,-1},{-1,0},{0,1}}; //方向数组
int i, new_x, new_y;

Queue[rear].x = 0; //初始点入队
Queue[rear].y = 0;
Queue[rear++].depth = 1;
M[0][0] = 1; //标记该店

while(front != rear)
{
t = Queue[front++]; //出队
for(i=0; i<4; i++) //遍历每个方向
{
new_x = t.x+di[i][0]; //产生新的坐标
new_y = t.y+di[i][1];
if(pass( new_x, new_y)) //若可达
{
if(new_x==R-1 && new_y==C-1)return t.depth+1; //结束条件
//入队
Queue[rear].x = new_x;
Queue[rear].y = new_y;
Queue[rear++].depth = t.depth+1;
M[new_x][new_y] = 1; //同样标记入队的点
}
}
}
return -1; //无法走到终点,返回-1
}
int main()
{
printf("%d", steps());
}

扩展阅读:编程必背100个代码 ... c++和python先学哪个 ... 黑客编程必背50个代码 ... c++入门程序代码 ... plc编程必背50个程序 ... c语言代码生成器 ... 吓人的编程代码 ... c十十编程要学多久 ... 初学编程必背50个 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网