注册域名以后怎么做网站网站设计 网站推广 网站优化

张小明 2026/1/3 3:15:11
注册域名以后怎么做网站,网站设计 网站推广 网站优化,道士召唤10个月灵的传奇手游,做网站怎么做小图标表达式求值 中缀表达式后缀表达式56*3563*b*c/dbc*c/(56)*7567*x/y- zi*j–x *yxy/z-ij*xy *-x*y-6xy*6- 枚举 将变量的值一一列举出来#xff0c;变量的值只限于列举出来的值的范围内 在枚举中列出的每一个值#xff0c;成为枚举元素 每一个枚举元素由系统定义了一个用序号…表达式求值中缀表达式后缀表达式56*3563*b*c/dbc*c/(56)*7567*x/y- zi*j–x *yxy/z-ij*xy *-x*y-6xy*6-枚举将变量的值一一列举出来变量的值只限于列举出来的值的范围内在枚举中列出的每一个值成为枚举元素每一个枚举元素由系统定义了一个用序号表示的数值从0开始分别为012······语法enum枚举名{枚举元素....};#includestdio.htypedefenum{mon1,tue,wed,thu,fri,sat,sum}weekday;enumbool{false,ture};intmain(){enumweekdaya;amon;enumweekdayb;btue;printf(%d\n,a);//1printf(%d\n,b);//2return0;}后缀表达式求值从左到右遍历后缀表达式的每个元素若元素是操作数直接压入栈中。若元素是运算符弹出栈顶的2 个操作数注意顺序后弹出的是左操作数先弹出的是右操作数用运算符计算后将结果压回栈中。遍历结束后栈中剩余的唯一元素就是表达式的计算结果。#includestdio.h#includestdlib.h#defineMAXSIZE100typedefintElemType;typedefstruct{ElemType*data;inttop;}Stack;typedefenum{LEFT_PARE,RIGHT_PARE,//左括号右括号ADD,SUB,MUL,DIV,MOD,// 加减乘除取余EOS,NUM// \0,数字}contentType;charexpr[]82/256*-;//初始化Stack*initStack(){Stack*s(Stack*)malloc(sizeof(Stack));s-data(ElemType*)malloc(sizeof(ElemType));s-top-1;returns;}// 判断栈是否为空intisEmpty(Stack*s){if(s-top-1){printf(空的\n);return1;}else{return0;}}//进栈intpush(Stack*s,ElemType e){if(s-topMAXSIZE-1){printf(满了\n);return0;}s-top;s-data[s-top]e;return1;}//出栈ElemTypepop(Stack*s,ElemType*e){if(s-top-1){printf(空的\n);return0;}*es-data[s-top];s-top--;return1;}// 获取栈顶元素intgetTop(Stack*s,ElemType*e){if(s-top-1){printf(空的\n);return0;}*es-data[s-top];return1;}contentTypegetToken(char*symbol,int*index){*symbolexpr[*index];*index*index1;switch(*symbol){case(:returnLEFT_PARE;case):returnRIGHT_PARE;case:returnADD;case-:returnSUB;case*:returnMUL;case/:returnDIV;case%:returnMOD;case\0:returnEOS;default:returnNUM;}}inteval(Stack*s){charsymbol;intop1,op2;intindex0;contentType token;tokengetToken(symbol,index);ElemType result;while(token!EOS){if(tokenNUM){push(s,symbol-0);// symbol - 0得到数值}else{//op2是栈顶op1是次顶pop(s,op2);pop(s,op1);switch(token){caseADD:push(s,op1op2);break;caseSUB:push(s,op1-op2);break;caseMUL:push(s,op1*op2);break;caseDIV:if(op20){printf(错误除数不能为0\n);return0;}push(s,op1/op2);break;caseMOD:if(op20){printf(错误模运算除数不能为0\n);return0;}push(s,op1%op2);break;default:printf(未知运算符\n);break;}}// 获取下一个tokentokengetToken(symbol,index);}pop(s,result);printf(%d\n,result);//结果-24return1;}intmain(){Stack*sinitStack();eval(s);return0;}中缀表达式转后缀表达式x/(i-j)*y———xij-/y*1. 优先级定义从高到低运算符优先级说明(0左括号入栈时优先级最低-1加减*/%2乘除、取模)-右括号仅用于匹配左括号2. 转换步骤初始化空栈存储运算符 空输出队列存储后缀表达式遍历中缀表达式的每个 token数字 / 运算符 / 括号若为数字直接加入输出队列若为左括号(压入栈若为右括号)持续弹出栈顶运算符到输出队列直到遇到左括号(并弹出左括号不加入输出若为运算符栈非空时持续弹出栈顶优先级 ≥ 当前运算符的运算符到输出队列将当前运算符压入栈遍历结束后将栈中剩余的所有运算符依次弹出到输出队列输出队列即为后缀表达式。#includestdio.h#includestdlib.h#includestring.h#includectype.h#defineMAXSIZE100typedefintElemType;typedefstruct{ElemType*data;inttop;}Stack;typedefenum{LEFT_PARE,// 0RIGHT_PARE,// 1ADD,// 2SUB,// 3MUL,// 4DIV,// 5MOD,// 6EOS,// 7NUM// 8}contentType;charexpr[]x/(i-j)*y;//char expr[] 8/(5-3)*4; // 中缀表达式charpostfix_expr[MAXSIZE]{0};// 存储后缀表达式字符形式如而非枚举值intpostfix_idx0;// 修正后的优先级数组intin_stack[]{0,19,12,12,13,13,13,0,0};intout_stack[]{19,0,12,12,13,13,13,0,0};// 枚举值转运算符字符chartoken_to_char(contentType token){switch(token){caseADD:return;caseSUB:return-;caseMUL:return*;caseDIV:return/;caseMOD:return%;default:return\0;}}// 字符转枚举值contentTypechar_to_token(charc){switch(c){case:returnADD;case-:returnSUB;case*:returnMUL;case/:returnDIV;case%:returnMOD;case(:returnLEFT_PARE;case):returnRIGHT_PARE;case\0:returnEOS;default:returnNUM;}}//初始化栈Stack*initStack(){Stack*s(Stack*)malloc(sizeof(Stack));s-data(ElemType*)malloc(MAXSIZE*sizeof(ElemType));s-top-1;returns;}// 判断栈是否为空intisEmpty(Stack*s){returns-top-1;}//进栈intpush(Stack*s,ElemType e){if(s-topMAXSIZE-1)return0;s-top;s-data[s-top]e;return1;}//出栈intpop(Stack*s,ElemType*e){if(isEmpty(s))return0;*es-data[s-top];s-top--;return1;}// 获取栈顶元素intgetTop(Stack*s,ElemType*e){if(isEmpty(s))return0;*es-data[s-top];return1;}// 释放栈内存voidfreeStack(Stack*s){if(s){free(s-data);free(s);}}// 获取TokencontentTypegetToken(char*symbol,int*index){*symbolexpr[*index];if(*symbol\0)returnEOS;*index*index1;returnchar_to_token(*symbol);}// 打印Tokenvoidprint_token(contentType token,charsymbol){switch(token){caseADD:printf();break;caseSUB:printf(-);break;caseMUL:printf(*);break;caseDIV:printf(/);break;caseMOD:printf(%%);break;caseNUM:printf(%c,symbol);break;default:break;}}// 中缀转后缀voidpostfix(Stack*s){contentType token;intindex0;charsymbol;ElemType e;postfix_idx0;memset(postfix_expr,0,sizeof(postfix_expr));push(s,EOS);tokengetToken(symbol,index);while(token!EOS){if(tokenNUM){print_token(token,symbol);postfix_expr[postfix_idx]symbol;// 存储数字字符}elseif(tokenRIGHT_PARE){getTop(s,e);while(e!LEFT_PARE){if(!pop(s,e))break;if(eLEFT_PARE)break;charoptoken_to_char((contentType)e);print_token((contentType)e,op);postfix_expr[postfix_idx]op;// 存储运算符字符getTop(s,e);}pop(s,e);}elseif(tokenLEFT_PARE){push(s,token);}else{getTop(s,e);while(in_stack[e]out_stack[token]){if(!pop(s,e))break;charoptoken_to_char((contentType)e);print_token((contentType)e,op);postfix_expr[postfix_idx]op;// 存储运算符字符getTop(s,e);}push(s,token);}tokengetToken(symbol,index);}// 弹出剩余运算符getTop(s,e);while(e!EOS){pop(s,e);charoptoken_to_char((contentType)e);if(op!\0){// 过滤无效字符print_token((contentType)e,op);postfix_expr[postfix_idx]op;}getTop(s,e);}printf(\n);}// 后缀表达式求值inteval(Stack*s,char*post_expr){intindex0;ElemType result,op1,op2;s-top-1;// 重置栈while(post_expr[index]!\0){charcpost_expr[index];index;if(isdigit(c)){// 数字入栈push(s,c-0);}elseif(c||c-||c*||c/||c%){// 运算符计算if(!pop(s,op2)||!pop(s,op1)){printf(操作数不足\n);return0;}switch(c){case:push(s,op1op2);break;case-:push(s,op1-op2);break;case*:push(s,op1*op2);break;case/:if(op20){printf(除数不能为0\n);return0;}push(s,op1/op2);break;case%:if(op20){printf(模运算除数不能为0\n);return0;}push(s,op1%op2);break;}}}// 弹出最终结果if(pop(s,result)isEmpty(s)){printf(求值结果%d\n,result);return1;}else{printf(表达式格式错误\n);return0;}}intmain(){Stack*sinitStack();// 1. 中缀转后缀printf(中缀表达式%s\n,expr);printf(后缀表达式);postfix(s);// 2. 后缀表达式求值if(strspn(expr,0123456789-*/%())strlen(expr)){eval(s,postfix_expr);}else{printf(表达式含字母跳过求值\n);}freeStack(s);return0;}中缀表达式x/(i-j)*y后缀表达式xij-/y *表达式含字母跳过求值递归在函数调用过程中调用自己本身计算1~n的和非递归方式intfun(intn){intsum0;for(inti0;in;i){sumsumi;}returnsum;}递归方式intfun(intn){if(n1){return1;}else{returnfun(n-1)n;}}斐波那契数列斐波那契数列又称黄金分割数列其数值为1、1、2、3、5、8、13、21、34······非递归intfib(intn){inta1;intb1;intresult1;while(n2){resultab;ab;bresult;n--;}returnresult;}intmain(){intn;scanf(%d,n);intretfib(n);printf(%d\n,ret);reurn0;}递归intfib(intn){if(n2){return1;}else{returnfib(n-1)fib(n-2);}}intmain(){intn;scanf(%d,n);intretfib(n);printf(%d,ret);return0;}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

荆州网站建设多少钱个人免费发布房源信息

部署运行你感兴趣的模型镜像一键部署 导读 精选400道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、APP测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据…

张小明 2025/12/24 6:46:47 网站建设

用服务器ip可以做网站吗泉州网站建设方案策划

在“好房子”建设迈向高质量、健康化、智能化的新阶段,狄耐克以自主研发的六恒健康环境系统为核心,构建覆盖温、湿、氧、净、静、智六大维度的全屋空气解决方案,为现代人居提供可量化、可感知、可持续的健康环境保障。恒温恒湿:精…

张小明 2025/12/26 0:08:49 网站建设

安徽省校园网站建设动效h5网站

深入探索ThinApp与App Volumes集成及Horizon View整合应用 1. ThinApp与App Volumes创建和分配AppStack 在使用ThinApp和App Volumes时,首先可以看到ThinApp创建的文件,为了便于后续操作,可将这些文件复制到文件服务器的共享文件夹,让预配虚拟机可以访问。 - 创建ThinAp…

张小明 2025/12/23 5:02:42 网站建设

临海城市建设网站凌源网站优化

SCPI Parser 终极指南:快速掌握开源仪器控制命令解析技术 【免费下载链接】scpi-parser Open Source SCPI device library 项目地址: https://gitcode.com/gh_mirrors/sc/scpi-parser 你是否曾经为复杂的仪器控制命令而烦恼?面对各式各样的测试设…

张小明 2025/12/24 23:08:09 网站建设

北京做网站优化多少钱外贸网站设计与推广

你是否曾经看着手中的普通照片,想象它们能够变成生动的三维模型?现在,这个梦想已经通过MicMac这款开源摄影测量软件变成了现实。想象一下,考古学家不再需要复杂的测量设备,仅凭几张照片就能精确重建历史遗址的三维数字…

张小明 2025/12/28 18:12:15 网站建设

招商网站建设哪家好济南网站优化网站

Dify 集成 Qwen3-8B 构建本地智能体的实践之路 在当前大模型技术快速迭代的背景下,越来越多开发者开始探索如何在有限资源下构建真正可用的 AI 智能体。我们不再满足于“调用云端 API”的黑箱模式——数据隐私、响应延迟和成本不可控等问题促使人们将目光转向本地化…

张小明 2025/12/27 4:11:07 网站建设