导航:首页 > 编程语言 > 编程作业题目大全

编程作业题目大全

发布时间:2022-12-15 11:34:21

A. C语言编程题目

#include <stdio.h>
#include <stdlib.h>

typedef struct LNode {
int data;
LNode *next;
}LNode, *LinkList;

typedef struct {
int *Num;
int top;
int stackment; // 停车场最大的停车辆
}SqStack;

typedef LinkList QueuePtr;

typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkQueue;

void InitStack(SqStack &S);
void InitQueue(LinkQueue &Q);
void PutIn(SqStack &S, LinkQueue &Q);
void GetOut(SqStack &S, LinkQueue &Q);
void StackTraverse(SqStack S);
void QueueTraverse(LinkQueue Q);

int main()
{
char ch, c;
SqStack S; LinkQueue Q;
InitStack(S); InitQueue(Q);
while(1)
{
fflush(stdin);
printf("*** 进入停车场: 'A' ***\n");
printf("*** 退出停车场: 'D' ***\n");
printf("*** 退出操作: '0' ***\n");
printf("\n请输入命令: ");
ch = getchar();
c = getchar();

switch(ch)
{
case 'A': PutIn(S, Q); break;
case 'D': GetOut(S, Q); break;
case '0': exit(-1);
default: printf("输入有误!\b");
exit(-1);
}

StackTraverse(S);
QueueTraverse(Q);
}

return 0;
}

void PutIn(SqStack &S, LinkQueue &Q)
{
int i, n, tag = 0; LNode *p, *q;

q = (LNode *)malloc(sizeof(LNode));
if(q == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}
while(!tag)
{
printf("请输入车号: ");
scanf("%d", &n);
for(i = 0; i <= S.top; i++) // 若车号在堆栈已存在
if(n == S.Num[i])
{
printf("车号已存在! 请重新输入!\n");
break;
}
if(i > S.top)
tag = 1;
q = Q.front->next; // 若车号在队列中存在
while(q != NULL && Q.front != Q.rear)
{
if(q->data == n)
{
printf("车号已存在! 请重新输入!\n");
tag = 0;
break;
}
else q = q->next;
}

}
if(S.top != 4) // 若栈不满
S.Num[++S.top] = n;
else // 若栈满,则进入队列
{
p = (LNode *)malloc(sizeof(LNode));
if(p == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}
p->data = n;
p->next = NULL;
Q.rear->next = p;
Q.rear = p;
}
}

void GetOut(SqStack &S, LinkQueue &Q)
{
int i, n, tag = 0;
LNode *p; SqStack S1;
InitStack(S1);

if(S.top < 0) // 停车场空
{
printf("停车场已空!情况如下!\n\n");
return;
}
while(!tag)
{
printf("请输入车号: ");
scanf("%d", &n);
for(i = 0; i <= S.top; i++)
if(n == S.Num[i]) // 若车号存在
tag = 1;
if(tag == 0) // 若车号不存在
printf("车号不存在! 请重新输入!\n");
}

for(i = S.top; S.Num[i] != n; i--) // 挡路的车进临时栈
S1.Num[++S1.top] = S.Num[S.top--];
S.top--;
for(i = S1.top; i >= 0; i--) // 临时栈的车重新入栈
S.Num[++S.top] = S1.Num[S1.top--];
if(Q.front != Q.rear) // 若便道有待进栈的车
{
p = (LNode *)malloc(sizeof(LNode));
if(p == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}
p = Q.front->next;
S.Num[++S.top] = p->data;
Q.front ->next = p->next ;
free(p);
}
}

void InitStack(SqStack &S)
{
S.stackment = 5;
S.Num = (int *)malloc((S.stackment-1) * sizeof(int));
if(S.Num == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}
S.top = -1;
}

void InitQueue(LinkQueue &Q)
{
LNode *head;
head = (LNode *)malloc(sizeof(LNode));
if(head == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}

Q.front = head;
Q.rear = head;
Q.front->next = NULL;
}

void StackTraverse(SqStack S)
{
int i;
printf("停车场的情况:\n");
printf("┏━━━━━━━━\n");
printf("┃");
for(i = 0; i <= S.top; i++)
printf(" %d", S.Num[i]);
printf("\n┗━━━━━━━━\n");
}

void QueueTraverse(LinkQueue Q)
{
LNode *p;
p = (LNode *)malloc(sizeof(LNode));
if(p == NULL)
{
printf("内存分配失败!\n");
exit(-1);
}
printf("便道的情况:\n");
printf(" ━━━━━━━━\n");
p = Q.front->next;
while(p != NULL && Q.front != Q.rear)
{
printf(" %d", p->data);
p = p->next;
}
printf("\n ━━━━━━━━\n");
}

题目有点出入,这是我以前写的,自己适当的加一点代码吧。
附我的编程题目:设停车场内只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入停车场的车辆必须先退出车场为它让路,待该辆车开出大门外后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走。试设计一个停车管理程序。
1、接受命令(A:入,D:出)和车号,若是汽车要进停车场,先判断停车场栈是否满,若不满,则汽车入栈,否则汽车入便道队列等候。
2、若是汽车要离开停车场,为该汽车让路,将停车场栈上若干辆汽车入临时栈,等这辆汽车出停车场后,临时栈中的汽车出栈,再回到停车场栈,然后看便道队列是否为空,若不空,则说明有汽车等候,从队头取出汽车号,让该车入停车场栈。
3、重复1、2直到为退出命令(车号为0或负数)。

B. java编程题作业二

publicclassShuzu{
publicstaticvoidmain(String[]args){
getMax();
getSum();
}


publicstaticvoidgetMax(){
int[]buf={10,15,12,9,7};
intmax=0;

for(inti=0;i<buf.length;i++){
if(buf[i]>max){
max=buf[i];
}
}
System.out.println("最大值:"+max);
}

publicstaticvoidgetSum(){
int[]buf={10,15,12,9,7};
intsum=0;
for(inti=0;i<buf.length;i++){
sum=sum+buf[i];
}
System.out.println("和为:"+sum);
}


}

C. 编程题(每题10分满分40分) 1.编程随机产生10以内加法练习题10道,根据学生输入的答

#include <stdio.h>

#include <stdlib.h>

int main()

{

int a1,a2,b1,b2;

int i;

scanf("%d %d",&a1,&a2);

for(i=0;i<10;i++)

{

b1 = rand() % a1;

b2 = rand() % a2;

printf("%d+%d= ",b1,b2);

}

}

D. 帮忙做道c语言的编程题

#include<stdio.h>
#include<math.h>
int gongyuemax(int x, int y)
{
for(int i=(x<y)? x: y; i>=1; i--)
{
if(x%i == 0&&y%i == 0)
{
return(i);
break;
}
}
}
int gongbeimin(int x, int y)
{
for(int i = (x>y)? x:y; i!=0;i++)
{
if(i%x == 0&&i%y == 0)
{
return(i);
break;
}
}
}
int jiechengji(int x)
{
if(x==1||x==0)
{
return(1);
}
else
return(x*jiechengji(x-1));
}
int leijiahe(int x)
{
int sum = 0;
for(int i = 1; i<=x; i++)
{
sum = sum + i;
}
return(sum);
}
void pananshushu(int x)
{
int i;
int y = sqrt(x);
for(i = 2; i<=y;i++)
{
if(x%i==0)
{
printf("it isn't a shushu\n");
break;
}
}
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, d, e, N;
printf("请输入需要求解的数:\n");
scanf("%d%d",&x1, &y1);
a = gongyuemax(x1, y1);//求最大公约数
b = gongbeimin(x1, y1);//求最小公倍数
printf("输出最大公约数和最大公倍数:\n");
printf("%d\n%d\n", a, b);
printf("请输入任意数n:");
scanf("%d",&n);
c = jiechengji(n); //求任意数n的阶乘
d = leijiahe(n); //求任意数n的累加和
pananshushu(n); //判断是不是素数?
printf("输出n的阶乘和累加和:\n");
printf("%d\n%d\n", c, d);
printf("输入任意数n及其它的次方N:");
scanf("%d%d",&n,&N);
e = Ncifang(n, N); //求任意数n的N次方
printf("%d\n",e);
}

E. c语言编程题目及答案

#include <stdio.h>
#include <math.h>
void main(void)
{
double a;

double b;

double c;/* 以上三个变量分别对应三边 */

double sin_c;/* c边对应角的正玄值 */

double cos_c;/*c边对应角的余玄值*/

double cos_a;

double area; /* 三角形的面积 */

printf("输入a,b,c:");

scanf("%lf, %lf, %lf", &a, &b, &c);

if(((a+b)>c) && (a-b)<c)
{
printf("三边能够成三角形\n.");

cos_c = (a*a + b*b -c*c)/(2*a*b);

cos_a = (b*b + c*c - a*a)/(2*b*c);

if ((cos_c > 0) && (cos_a >0))
{
printf("三角形是锐角三角形。\n");
}

else if ((cos_c < 0) || (cos_a < 0))
{
printf("三角形是钝角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}

sin_c = sqrt(1- cos_c*cos_c);

area = a*b*sin_c/2;

printf("三角形的面积是%f.\n",area);
}
else
{
printf("三边不能构成三角形\n");
}
}

F. C语言编程题目

#include<stdio.h>
structstudent
{
intid;
charbirthday[11];
charsex;
intcn;
intma;
inten;
intsum;
intave;
}stu;
intmain()
{
printf("请输入一学生的学号、生日、性别及三门功课(语文、属性、英语)的成绩: ");
scanf("%d%s",&stu.id,stu.birthday);
getchar();
scanf("%c%d%d%d",&stu.sex,&stu.cn,&stu.ma,&stu.en);
stu.sum=stu.cn+stu.ma+stu.en;
stu.ave=stu.sum/3;

printf("%6s%8s%8s%s%s%s%s%s ","学号","生日","性别","语文","数学","英语","总分","平均分");
printf("%d%s%c%d%d%d%d%d",stu.id,stu.birthday,stu.sex,stu.cn,stu.ma,stu.en,stu.sum,stu.ave);
return0;
}

G. C语言题目

(1.必做题)
#include<stdio.h>
int f(int y)
{
int i,s=0,t=2;
for(i=1;i<=y;i++)
{s=s+t;
t=t*10;
}
return s;
}
main()
{
int i,n,sum=0;
scanf(

阅读全文

与编程作业题目大全相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163