算法题:编写程序,输入打印队列,按优先级输出实际打印顺序

算法题:编写程序,输入打印队列,按优先级输出实际打印顺序,第1张

面试题:编写程序,输入打印队列,按优先级输出实际打印顺序

某个打印机根据打印队列执行打印任务,打印任务有9个优先级,用1-9表示,数字越大优先级越高,打印机每次从列队头部取出第一个任务A,然后检查队列余下任务中有没有比A优先级更高的任务,若有,则将任务A放回列队尾部,否则执行A的打印,请编写程序,根据输入打印队列,输出实际打印顺序。

输入描述:

输入一行,为每个任务优先级,优先级之间用逗号隔开

输出描述:

输出每个任务打印顺序,从0开始,用逗号隔开

示例:

解答:

算法程序:

#include<stdioh>

void main(){

int a,b;

printf("input a,b: (a>b)\n");

scanf("%d,%d",&a,&b);

if(a%b==0)

printf("OK\n");

else

printf("FALSE\n");

}

#include<stdioh>

main()

{

int n=4;

int a =0;

int max = 0; int min = 0;

scanf("%d", &a);

max = min = a;

while(n>0)

{

if(a> max)

{

max = a;

}

if(a < min)

{

min = a;

}

scanf("%d", &a);

n--;

}

printf("max:%d, min:%d\n",max,min);

}

原理就是运用冒泡算法,两两比较,把所有的比较完,得出最大和最小值。

这个应该用起泡法排序算法。

#include<stdioh>

int main(){

int a[10];int i,j,k;

printf("input 10 numbers:\n");

for(i=0;i<10;i++){//输入十个数,一次循环输入10次

scanf("%d",&a[i]);

printf("\n");//换行

for(j=0;j<9;j++)//从小到大换行经典方法四行

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

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf(”the sorted numbers:\n”);

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

printf("%d",a[i]);

printf("\n");

}

}

结果演示:

以上就是关于算法题:编写程序,输入打印队列,按优先级输出实际打印顺序全部的内容,包括:算法题:编写程序,输入打印队列,按优先级输出实际打印顺序、输入两个整数a,b(a>b),判断a能否被b整除,试写出该问题的算法程序、C语言编程序:输入a,b,c,d四个整数,求最小值,最大值。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10143305.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存