c++的代码注释!越详细越好……

来源:百度知道 编辑:UC知道 时间:2024/05/31 10:43:31
#include <stdlib.h>
#include<stdio.h>
#include<math.h>
#define max 100
char ex[max];
void trans()
{
char str[max];
char stack[max];
char ch;
int sum,j,t,top=0;
int i=0;/*计数器*/
printf("*****************************************\n");
printf("*说明:以 # 号为结束标志.\n");
printf("******************************************\n");
printf("表达示: ");
do
{
i++;
scanf("%c",&str[i]); /*注: str[0]没有数据*/
if(i>=max) printf("表达式长度过长!");
}while(str[i]!='#' && i!=max);
sum=i; /*数组长度,即表达式长度*/
t=1;
i=1;
ch=str[i];
i++;
while(ch!='#')
{
switch(ch)
{
case '(': top++;
stack[top]=ch;break;
case ')': while(stack[top]!='(')
{
ex[t]=stack[top];
top

程序的功能是把一个手动输入的中缀表达式转化位后缀表达式并计算结果。
#include <stdlib.h>
#include<stdio.h>
#include<math.h>
#define max 100
char ex[max];
void trans() /*手动输入中缀表达式,并转化为后缀表达式,主要用栈来处理*/
{
char str[max];
char stack[max];
char ch;
int sum,j,t,top=0;
int i=0;/*计数器*/
printf("*****************************************\n");
printf("*说明:以 # 号为结束标志.\n");
printf("******************************************\n");
printf("表达示: ");
/*输入中缀表达式,并放入str[max]数组,输入字符个数不大于100*/
do
{
i++;
scanf("%c",&str[i]); /*注: str[0]没有数据*/
if(i>=max) printf("表达式长度过长!");
}while(str[i]!='#' && i!=max);
sum=i; /*数组长度,即表达式长度*/
t=1; //把
i=1; /*把str[max]数组的下标致1,回到字符头*/
ch=str[i];/*把输入的数组里第一个字符付给ch*/
i++; /*数组下标后移*/
while(ch!='#') /*字符数组的结束标志*/
{
switch(ch) <