c语言循环判断
1. c语言中循环队列的队满和队空的判断条件各是什么有什么不同
队空时: Q.front == Q.rear;
队满时: Q.front == (Q.rear + 1) % MAXSIZE;
front指向队首元素,rear指向队尾元素的下一个元素。
maxsize是队列长度。
(1)c语言循环判断扩展阅读:
实现的代码:
#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 100 //最大队列长度
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;
typedef struct {
ElemType *base; //队列空间
int front; //队头指针
int rear; //队尾指针,若队尾不为空,则指向队尾元素的下一个位置
}SqQueue;
//初始化循环队列
Status initQueue(SqQueue &Q) {
Q.base = (ElemType *) malloc(MAXSIZE * sizeof(ElemType)); //申请空间
Q.front = Q.rear = 0; //队空
return OK;
}
//入队
Status enQueue(SqQueue &Q, ElemType e) {
if ((Q.rear + 1) % MAXSIZE == Q.front) return ERROR; //队满,无法添加
Q.base[Q.rear] = e; //插入元素
Q.rear = (Q.rear + 1) % MAXSIZE; //队尾指针+1
return OK;
}
//出队
Status deQueue(SqQueue &Q, ElemType &e) {
if (Q.front == Q.rear) return ERROR; //队空,无法删除
e = Q.base[Q.front]
Q.front = (Q.front + 1) % MAXSIZE; //队头指针+1
return OK;
}
//返回队列长度
Status length(SqQueue &Q) {
return (Q.rear - Q.front + MAXSIZE) % MAXSIZE;
}
2. c语言for循环判断素数是什么
如下图所示:
for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。
在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。
在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。
以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。
多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。