大一期末C语言编程设计的问题
我是大一学生学C语言半个学期只能做一些简单的不超过10行的题但期末学校不考虑我们实际情况让我们做C语言编程设计100到150行要有“设计思想流程图主要解决问题的方法及技术...
我是大一学生 学C语言半个学期 只能做一些简单的不超过10行的题 但期末学校不考虑我们实际情况 让我们做C语言编程设计 100到150行 要有“设计思想 流程图 主要解决问题的方法及技术关键” 找现成的题需要自己改动 还需要答辩 大伙基本都不会 找学哥学姐以前的题 但都看不懂 答辩前突击学恐怕很难 主要是答辩 能回答上老师的问题基本就过关了 希望大家能提供一些简单的100行左右的C语言编程设计 或者其他好的解决办法 谢谢!
展开
10个回答
展开全部
先理清到做什么
之后关键就是列出算法——可以用伪代码或流程图
最后将伪代码或流程图翻译——编写程序
之后关键就是列出算法——可以用伪代码或流程图
最后将伪代码或流程图翻译——编写程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
题目呢?设计书有么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-07-09
展开全部
给你一个有关判断括号是否匹配的程序
/* 3.9 设计算法判断一个算术表达式的圆括号是否正确配对。*/
#include "stdio.h"
#include "stdlib.h"
#define StackSize 100
#define QueueSize 100
typedef char DataType;
typedef struct{
DataType data[StackSize];
int top;
}SeqStack; /*顺序栈结构*/
typedef struct{
DataType data[QueueSize];
int front;
int rear;
}SeqQueue; /*顺序队列结构*/
void InitStack(SeqStack *S); /*初始化栈*/
int StackEmpty(SeqStack *S); /*判断栈空*/
void Push(SeqStack *S,DataType x); /*进栈*/
DataType Pop(SeqStack *S); /*出栈*/
int QueueEmpty(SeqQueue *Q);
DataType DeQueue(SeqQueue *Q);
int Match(SeqQueue *Q,SeqStack *S)
{char b;
InitStack(S);
b=Q->front;
while(QueueEmpty(Q)==0)
{b=DeQueue(Q);
if(b=='(')
Push(S,b);
if(b==')')
{ if(StackEmpty(S))
return 0;
else
b=Pop(S);}}
if(StackEmpty(S))
return 1;
else
return 0;
}
void InitStack(SeqStack *S)
{
S->top=-1;
}
int StackEmpty(SeqStack *S)
{
return S->top==-1;
}
int StackFull(SeqStack *S)
{
return S->top==StackSize-1;
}
void Push(SeqStack *S,DataType x)
{
if(StackFull(S))
{
printf("Stack overflow");
exit(1);
}
S->data[++S->top]=x;
}
DataType Pop(SeqStack *S)
{
if(StackEmpty(S))
{
printf("Stack underflow");
exit(1);
}
return S->data[S->top--];
}
void InitQueue(SeqQueue *Q)
{
Q->front=Q->rear=0;
}
int QueueEmpty(SeqQueue *Q)
{
return Q->front==Q->rear;
}
void EnQueue(SeqQueue *Q,DataType x)
{
Q->data[Q->rear++]=x;
}
DataType DeQueue(SeqQueue *Q)
{
if(QueueEmpty(Q))
{
printf("Queue underflow");
exit(1);
}
return Q->data[Q->front++];
}
int main(void)
{
DataType ch;
int c;
SeqQueue Q;
SeqStack S;
InitQueue(&Q);
printf("该题为判断一个表达式中的'('与')'是否配对,如配对则输出Match!,如不配对则输出No match!\n");
loop:printf("\nPlease enter the arithmetic expression(请输入表达式):");
while((ch=getchar())!='\n')
{
EnQueue(&Q,ch);
}
printf("\n");
c=Match(&Q,&S) ;
if(c==1)
printf("Match!");
else
printf("No match!");
goto loop;
}
该程序在Dev-C++运行通过
/* 3.9 设计算法判断一个算术表达式的圆括号是否正确配对。*/
#include "stdio.h"
#include "stdlib.h"
#define StackSize 100
#define QueueSize 100
typedef char DataType;
typedef struct{
DataType data[StackSize];
int top;
}SeqStack; /*顺序栈结构*/
typedef struct{
DataType data[QueueSize];
int front;
int rear;
}SeqQueue; /*顺序队列结构*/
void InitStack(SeqStack *S); /*初始化栈*/
int StackEmpty(SeqStack *S); /*判断栈空*/
void Push(SeqStack *S,DataType x); /*进栈*/
DataType Pop(SeqStack *S); /*出栈*/
int QueueEmpty(SeqQueue *Q);
DataType DeQueue(SeqQueue *Q);
int Match(SeqQueue *Q,SeqStack *S)
{char b;
InitStack(S);
b=Q->front;
while(QueueEmpty(Q)==0)
{b=DeQueue(Q);
if(b=='(')
Push(S,b);
if(b==')')
{ if(StackEmpty(S))
return 0;
else
b=Pop(S);}}
if(StackEmpty(S))
return 1;
else
return 0;
}
void InitStack(SeqStack *S)
{
S->top=-1;
}
int StackEmpty(SeqStack *S)
{
return S->top==-1;
}
int StackFull(SeqStack *S)
{
return S->top==StackSize-1;
}
void Push(SeqStack *S,DataType x)
{
if(StackFull(S))
{
printf("Stack overflow");
exit(1);
}
S->data[++S->top]=x;
}
DataType Pop(SeqStack *S)
{
if(StackEmpty(S))
{
printf("Stack underflow");
exit(1);
}
return S->data[S->top--];
}
void InitQueue(SeqQueue *Q)
{
Q->front=Q->rear=0;
}
int QueueEmpty(SeqQueue *Q)
{
return Q->front==Q->rear;
}
void EnQueue(SeqQueue *Q,DataType x)
{
Q->data[Q->rear++]=x;
}
DataType DeQueue(SeqQueue *Q)
{
if(QueueEmpty(Q))
{
printf("Queue underflow");
exit(1);
}
return Q->data[Q->front++];
}
int main(void)
{
DataType ch;
int c;
SeqQueue Q;
SeqStack S;
InitQueue(&Q);
printf("该题为判断一个表达式中的'('与')'是否配对,如配对则输出Match!,如不配对则输出No match!\n");
loop:printf("\nPlease enter the arithmetic expression(请输入表达式):");
while((ch=getchar())!='\n')
{
EnQueue(&Q,ch);
}
printf("\n");
c=Match(&Q,&S) ;
if(c==1)
printf("Match!");
else
printf("No match!");
goto loop;
}
该程序在Dev-C++运行通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是自己写个简单的程序比较好,别人的程序不容易看的懂,更不用说要答辩。100行也不需要很复杂。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们当时做的是随机出小学口算题。通讯录。成绩统计。文字搜索
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询