哪里可以帮忙做C语言
发布网友
发布时间:2022-09-01 05:07
我来回答
共1个回答
热心网友
时间:2024-10-13 13:45
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
typedef int ElemType;
typedef struct node {
ElemType elem;
struct node *next;
}Node;
typedef struct queue {
Node *head;
Node *tail;
int size;
}*LQueue;
LQueue getEmptyQueue() {
LQueue Q = (LQueue)malloc(sizeof(struct queue));
Q->size = 0;
Q->head = Q->tail = NULL;
return Q;
}
void enterQueue(LQueue Q,ElemType data) {
Node *p = (Node *)malloc(sizeof(Node));
p->elem = data;
p->next = NULL;
if(Q->head == NULL) // Q是空的
Q->head = Q->tail = p;
else {
Q->tail->next = p;
Q->tail = p;
}
++Q->size;
}
int goQueue(LQueue Q,ElemType *data) {
Node *p;
if(Q->head == NULL) return 0;
p = Q->head;
*data = p->elem;
Q->head = p->next;
if(p->next == NULL)
Q->head = Q->tail = NULL;
--Q->size;
return 1;
}
int isEmpty(LQueue Q) { return Q->size == 0; }
int getLength(LQueue Q) { return Q->size; }
int getHead(LQueue Q,ElemType *data) {
if(isEmpty(Q)) return 0;
*data = Q->head->elem;
return 1;
}
int getTail(LQueue Q,ElemType *data) {
if(isEmpty(Q)) return 0;
*data = Q->tail->elem;
return 1;
}
void PrintNode(LQueue Q) {
Node *p;
if(isEmpty(Q)) printf("队列为空。\n");
else {
p = Q->head;
while(p) {
printf("%d ",p->elem);
p = p->next;
}
printf("\n");
}
}
void destroyQueue(LQueue Q) {
Node *q,*p = Q->head;
while(p) {
q = p;
p = q->next;
free(q);
}
free(Q);
}
int main(int argc, char *argv[]) {
int i,data;
char select[20],op;
LQueue Q = getEmptyQueue();
do {
printf("┌───────────┐\n");
printf("│ 队列练习程序 │\n");
printf("├───────────┤\n");
printf("│ 1、入队操作 │\n");
printf("│ 2、出队操作 │\n");
printf("│ 3、显示队列元素 │\n");
printf("│ 4、显示队列长度 │\n");
printf("│ 5、显示队首元素 │\n");
printf("│ 6、显示队尾元素 │\n");
printf("│ │\n");
printf("│ 0、退出 │\n");
printf("└───────────┘\n");
printf("\n请选择:");
for(i = 0; (op = _getch()) != '\r' && i < 20; ++i) {
select[i] = op;
putchar(op);
}
select[i] = '\0';
printf("\n");
if(i > 1) {
printf("无效选择!\n");
continue;
}
switch(select[0] - '0') {
case 1 : printf("输入一个整数:");
scanf("%d",&data); enterQueue(Q,data); break;
case 2 : if(goQueue(Q,&data)) printf("%d\n",data);
else printf("队列为空。\n");
break;
case 3 : PrintNode(Q); break;
case 4 : printf("队列长度:%d\n",getLength(Q)); break;
case 5 : if(getHead(Q,&data)) printf("队首元素:%d\n",data);
else printf("队列为空。,\n");
break;
case 6 : if(getTail(Q,&data)) printf("队尾元素:%d\n",data);
else printf("队列为空。\n");
break;
case 0 : break;
}
}while(select[0] - '0');
destroyQueue(Q);
return 0;
}
追问好像不完全啊
第四条以后都没有
找一位能教我C语言的老师!我纯属于自学C语言中,只希望...
计算机方面的我都是自学,c语言大一刚学过,自认为我们专业没人比我好,如果我能帮到你,那我还是很乐意的,现在这个社会尽是那些什么都不会却又特别能说的人,误导那些有爱好的人,c语言我弄过贪吃蛇的游戏,12794四8250
我找C语言师父,帮帮忙!
自己悟出来的东西还是比较好用的
那位哥哥能帮我做一个C语言课程设计报告那位好心的大哥大姐帮帮忙 .
还是自己写吧,又不难
我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家...
&stu[i].computer_C, &stu[i].sum)==0) printf("读取失败"); if(stu[i].ID==n) //判断是否需查找学生 { printf("查找到:%s 性别%s 学号%d 数学%d 外语%d C语言%d 总分%d\n",//输出查找目标 stu[i].name, stu[i].sex, stu[i].ID, stu[i].math, stu[i].english, stu[i].computer_...
帮忙做c语言题。,十分感谢
(A)ename (B) case (C) A—9 (D)win3.2 2、下列哪条语句能够正确地给整型数据a、b输入数据(B )(A)scanf(“%f, %f ”, a, b); (B ) scanf(“%d %d”, &a, &b);(C) scanf(“%f %d”, a, b); (D) scanf(“%f, %f”, &a, &b);3、在c语言的控制语句中,哪...
诚请编程达人帮忙 C++跟C语言有关系吗???有没有必要先学C再学C++???
两种方法都可以,第一种先学C的比较扎实,稳妥,第二种直接学C++要上手快些,但是你如果要想学得很深入的话,建议你从C学起,即便你现在不学C,到了一定的程度的时候都会自觉的去补学的,当然如果你仅仅是为了做一些作品来参加学校的竞赛什么的可以考虑直接学C++。
帮忙做道c语言的编程题?
if(i>y)//这里用i和y比较得出素数,且i不能定义在for语句里面,因为i和y比较式在for语句外进行的 printf("it is a shushu\n");} Ncifang(int x,int y){ long sum = 1;for(int i=1; i<=y;i++){ sum *=x;} return(sum);} void main(){ int x1, y1, n, a, b, c, ...
哪位大佬帮帮忙啊,这个C语言怎么做
第一次判断,z为3,x为1,满足条件。于是z变为2、y变为4;第二次判断,z为2,x为2,满足条件。于是z变为1、y变为3;第三次判断,z为1,x为3,满足条件。于是z变为0、y变为2;第四次判断,z为0,不满足条件。z变为-1。打印输出结果,3、2、-1....
求C语言编程大师帮忙编个程序(设计成个软件也可以) 本人C语言入门小弟...
由于你的问题描述的不是太清楚,所以我只能根据我的推断大概帮你写出这段程序,如果和你的不是太相符,可以在此基础上略做修改,中间判断部分是绝对正确的!望采纳!include <stdio.h>void main(){int i,j,n=0,l=0;int *p1;int *p2;int pt1[5];int pt2[5];int pt3[5];p1=pt1;p2=...
C语言好学吗谢谢了,大神帮忙啊
还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。 2:葵花宝典学习计算机语言最好的方法是什么?答曰:读程序。没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学...