三九宝宝网宝宝教育教学论文

关于C语言程序设计

12月24日 编辑 39baobao.com

[C语言题用二维数组和冒泡排序]#include<stdio.h> #define n 4 int main() { char a[n][30]; char tempstr[30]; char ch[30]; int b[n]; int i,j,temp; printf("你好使用者,我是一个自动分析程序,请输入你想...+阅读

#include "stdafx.h" #include#include#include#includeclass DoubleNode//栈节点数据结构 { friend class DoubleStack; private: double value; DoubleNode *next; DoubleNode(double value, DoubleNode *p):value(value),next(p){} //构造函数 }; class DoubleStack//栈,用来保存采用后缀表达式进行四则运算时的操作数 { private: DoubleNode *top; public: DoubleStack():top(NULL){} ~DoubleStack(); void push(double value); double pop(); bool isEmpty(){return top == NULL;} double getTop(); }; DoubleStack::~DoubleStack() { DoubleNode *p; while (NULL != top) { p = top; top = top->next; delete p; } } void DoubleStack::push(double value) { top = new DoubleNode(value,top); } double DoubleStack::pop()//返回节点操作数 { if (!isEmpty()) { DoubleNode *p; p = top; top = top->next; double nodeValue = p->value; delete p; return nodeValue; } } double DoubleStack::getTop() { return top->value; } class CharNode//栈节点数据结构 { friend class CharStack; private: char value; CharNode *next; //构造函数 CharNode(char value, CharNode *p):value(value),next(p){} }; class CharStack//栈,用来保存中缀表达式转换成后缀表达式时的运算符 { private: CharNode *top; public: CharStack():top(NULL){} ~CharStack(); void push(char value); char pop(); bool isEmpty(){return top == NULL;} char getTop(); void makeEmpty(); }; CharStack::~CharStack() { CharNode *p; while (NULL != top) { p = top; top = top->next; delete p; } } void CharStack::push(char value) { top = new CharNode(value,top); } char CharStack::pop() { if (!isEmpty()) { CharNode *p; p = top; top = top->next; char nodeValue = p->value; delete p; return nodeValue; } } void CharStack::makeEmpty() { CharNode *p; while (NULL != top) { p = top; top = top->next; delete p; } } char CharStack::getTop() { return top->value; } class Data//栈,用来保存中缀表达式转换成后缀表达式时的操作数 { public: double num; char op; }; class Arithmetic { private: DoubleStack dStack; //保存四则运算时,后缀表达式中的操作数 CharStack cStack; //保存中缀表达式转换成后缀表达式过程中的操作符 int isp(char op); //栈内优先级 int icp(char op); //栈外优先级 public: Data post[100]; //保存后缀表达式 int curLen; //后缀表达式数组的实际长度 void midTopost(char *c); //把中缀表达式转换成后缀表达式 double calculate(); //进行四则运算 }; void Arithmetic::midTopost(char *c) { int i = 0; int k; int j; char tmp; char a[100]; char num[10]; //下面开始把字符串中的操作符(+-*/)放入后缀表达式 cStack.makeEmpty(); cStack.push('#'); strcat(c, "#");//字符串最后都加一个#,以#表示结束标志 k = 0; while (c[k] != '\0') { if (c[k] == '+' || c[k] == '-' || c[k] == '*' || c[k] == '/' || c[k] == '(') { //如果优先级低,一直退栈,否则入栈 while (isp(cStack.getTop()) >icp(c[k])) { post[i++].op = cStack.pop(); } cStack.push(c[k]); } else if (c[k] == ')') { //一直退栈到'(' while (isp(cStack.getTop()) >= icp(')')) { tmp = cStack.pop(); if (tmp != '(') { post[i++].op = tmp; } } } else if (c[k] == '#') { while (isp(cStack.getTop()) >icp('#')) { tmp = cStack.pop(); post[i++].op = tmp; } } else if (c[k] >= '0' & c[k]= '0' & c[k]

以下为关联文档:

C语言冒泡排序#include<stdio.h> #define MAX 10 // #include <stdio.h> #define N 10 int main (){ int i,j,t,a[N]; printf("please input ten numbers:\n"); for (i=0;i<N;i++) scanf("%d...

语言读内存的代码问题.版本 2 .程序集 窗口程序集1 .程序集变量 a .程序集变量 b .程序集变量 进程ID .子程序 _时钟1_周期事件 a = 读内存整数型 (进程ID, 十六到十 (“00A1E0C4”), -1)'这个是基址...

语言用哪个支持库命令是什么可以读出内存基址基址已经知应用接口支持库 取内存容量信息 () =======================例========================= .版本 2 .支持库 eAPI .子程序 __启动窗口_创建完毕 信息框 (“=====内存信息=====”...

请教易语言读内存写内存写法.版本 2.子程序 _按钮1_被单击 .局部变量 基址, 整数型 .局部变量 地址1, 整数型 .局部变量 地址2, 整数型 .局部变量 偏移, 文本型 .局部变量 偏移1, 文本型基址 = 十六到十 (“0...

计算机二级C语言考试计算机二级C语言相对于 VB,VFP难一点,但含金量高点 个人觉得c语言还是不难通过的首先介绍一下考试结构:笔试100分,上机100分笔试有选择,填空2种题型(前10个选择题为计算机公共基...

计算机2级C语言考试在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问...

计算机C语言二级等级考试我二级三级都考过! 先回答你第一个问题,基础理论部分内容是很多,但是考试的题型和知识点都很固定,只要你把历年的考试题目的基础部分都做一遍,公共基础部分对百分之80应该可以了,...

全国计算机等级考试二级C语言(1)计算机二级一般没有在县级报名的,应该是在市级所以你的情况应该是去重庆报名并且考试 (2)考试大纲近几年都不会有什么大的变动,所以不用担心,即使有变动也是换汤不换药,现在...

c语言程序设计int k=4,t=100,n; inta[11]={0,1,2,3,4,5,6,7,8,9,} for(n=0,n<=9;n++)printf(%5d",a[n]); printf("\n"); for(n=10;n>=k+1;n-)a[n]=a[n-1]; a[k]=t for(n=0;n<=10;n++)printf(...

推荐阅读
图文推荐