[C语言二维数组]/***用二维数组保存学生成绩****/ #include"stdio.h" #define M 100 main() { int i,a[M][2],n,c=0,m=0,max,min; printf("请输入学生记录数:"); scanf("%d",&n); /*********输入每个...+阅读
a#include "Stdio.h" #include#include "Conio.h" #include "malloc.h" #define TRUE 1 #define FALSE 0 #define INFEASIBLE 1 #define OVERFLOW -2 #define OK 1 #define ERROR 0 #define MAXQSEZE 100 /*最大队列长度*/ typedef int QElemType; typedef int Status; typedef struct{ QElemType *base; /*初始化的动态分配存储空间*/ int front; /*头指针,若队列不空,指向队列头元素*/ int rear; /*尾指针,若队列不空,指向队列尾元素的下一位置*/ }SqQueue; Status Queuelength(SqQueue *Q){ /*构造一个空的循环队列*/ Q->base=(QElemType *)malloc(MAXQSEZE*sizeof(SqQueue)); if(!Q->base) exit(OVERFLOW); /*存储分配失败*/ Q->front=Q->rear=0; return OK; } Status EnQueue(SqQueue *Q,QElemType e){ /*插入元素e为Q的新的队尾元素*/ if((Q->rear+1)%MAXQSEZE==Q->front) return ERROR;/*队列满*/ Q->base[Q->rear]=e; Q->rear=(Q->rear+1)%MAXQSEZE; return OK; } Status DeQueue(SqQueue *Q,QElemType *e){ /*若队列不空,则删除Q的队头元素,用e返回其值*/ /*否则返回ERROR*/ if(Q->front==Q->rear) return ERROR; *e=Q->base[Q->front]; Q->front=(Q->front+1)%MAXQSEZE; return OK; } Status GetHead(SqQueue *Q,QElemType *e){ /*队列不为空用e返回Q的头元素,并返回OK,否则返回ERROR*/ if(Q->front==Q->rear) return ERROR; *e=Q->base[Q->front]; return OK; } Status QueueEmpty(SqQueue *Q){ /*队列为空时返回OK否则返回FALSE*/ if(Q->front==Q->rear) return OK; return FALSE; } void yanghuiTriangle(int n){ /*打印输出杨辉三角的钱n(n>0)行*/ SqQueue Q; char; int i,k; QElemType s,e; FILE *fq; if((fq=fopen("output.txt","w"))==NULL){ /*打开写入文件*/ printf("error on open\n"); exit(1); } Queuelength(&Q); /*创建空的队列*/ for(i=1;i
c语言数据结构循环队列用顺序结构
c++ //bc_queue.h class Queue { public: virtual BOOLEAN is_empty(void)=0; virtual BOOLEAN is_que_full(void)=0; virtual void build_que(DATA_TYPE str[])=0; virtual void add_que(DATA_TYPE)=0; virtual DATA_TYPE del_from_que(void)=0; virtual int get_que_siz(void)=0; virtual void print_que(void)=0; }; //Ary_Circ_Que.h class Array_Circ_Queue:public Queue{ private: int QUEUE_SIZ; int front_of_queue, rear_of_queue; DATA_TYPE *circ_queue; void init_ary_circ_que(void); public: Array_Circ_Queue(int que_siz); ~Array_Circ_Queue(); BOOLEAN is_empty(void); BOOLEAN is_que_full(void); void build_que(DATA_TYPE str[]); void add_que(DATA_TYPE); //put DATA_TYPE del_from_que(void); //get inline int get_que_siz(){return (QUEUE_SIZ);} void print_que(void); }; //Ary_Circ_Que.cpp // #include
求用循环队列解决约瑟夫环问题的C语言代码急速度!
他们都是用链表做的。。我没用链表做。。。很简单的写了一个。。。
#include
void Fmade(int x, int y, int z);
void main()
{
int a, b, c;
//t i, j, k;
//t aa[100], b[100];
cout<<;"请输入总人数:";
cin>>a;
cout< cin>>b; cout< cin>>c; Fmade(a, b, c); } void Fmade(int x, int y, int z) { int i, j=0, k=0; int aa[100], bb[100]; int start; aa[0]=0; for(i=1; i<=x; i++) { aa[i]=i; } start=y; while(j < x) { while(start <= x) { if(aa[start] !=0) { k++; } if(k == z) { bb[j]=aa[start]; aa[start]=0; j++; k=0; } start++; } start=1; } cout<<;"出列顺序为:"; for(i=0; i { cout< } } 说明下:因为这个数组只定义了100个字节。其中第一字节没有用。。所以只能计算99以内的出列。。。包括99,如果需要扩大计算范围,只需要扩大数组长度就行了。。。也就Fmade函数的定义。。。 最够插入运算的答案的图片: #include #include #include #define LENTH 54 void init_brand(int *array); int main() { int brand[LENTH]; int shuffle[LENTH]; int i, j; int index; int random_num; init_brand(brand); srand(time(0)); for(i = 0; i != LENTH; i++) { index = rand()%(LENTH-i); j = 0; random_num = 0; do { if(brand[random_num] != -1) { j++; } random_num++; } while(j != index+1); shuffle[i] = brand[random_num-1]; brand[random_num-1] = -1; } for(i = 0; i != LENTH; i++) { if(i == 0 || i == 17 || i == 35) { printf("\n---------------------------------------------\n"); } printf("%d ", shuffle[i]); } return 0; } void init_brand(int *array) { int i; for(i = 0; i != LENTH; i++) { *(array+i) = i + 1; } } 本文地址:https://www.39baobao.com/show/29_48386.html 以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢. 以下为关联文档: C语言实验 for循环打印图形循环结构#include "stdio.h" #include "math.h" void main () { int i,j,k,n; printf("输入n\n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(k=1;k<=n-i;k++) printf(" "); for(j=1;j<=2*i-1;j+... C语言数组排序#include<stdio.h> void main() { int a[10] = { 10,2,3,4,5,6,9,8,7,1 }; int i,j,t; for(j=0;j<10;j++) for(i=0;i<10-1-j;i++) if(a[i]>a[i+1]) /* 由小到大,由大到小时改... 数组排序C语言#include <stdio.h> #include <iostream.h> #include <stdlib.h> #include<time.h> void main() { int a[100],i,c,b,d,e,n; cin>>n; srand((unsigned)time(NULL)); for(i=0... C语言循环结构x=y=0; //赋初值 x=0;y=0 while(x<15) y++,x+=++y /*当X值小于15的时候做循环y++,x+=++y 其中y++表示y自加,x+=++y等同于x=x+(++y) 其中++y是先自加然后在引用值。 所以此循环... 怎么用 R语言输出循环数组假如不知道数组的元素个数,一般为int数组,或char数组,下面看代码实现要求: #include<stdio.h> void main() { int num[]={1,2,3}; char str[]={'4','5','6'}; for(int i=0;i<siz... 请用C语言:求一个数组中所有元素的和在主函数中检验如果说,数组中保存的是数字,那简单,全部加起来。 如果说,数组中保存的是字符串型数字比如“100”,那你需要把字符串转成数字再相加。 或者还可以把所有字符拼接在一起。 1 2 3 4... C语言。数组排序函数数组函数排序//#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void Sort(int *p,int n){ int i,j,k; for(i=0;i<10;i++){ for(k=i,j=i+1;j<10;j++) if(p[k]>p[j]) k=j; if(k!... C语言动态数组的数组案例#include #include int main() { int*n,*p; int i; n=(int*)calloc(1,sizeof(int)); for(i=0;i{ n[i]=i+1; printf(%d\t,n[i]); p=(int*)realloc(n,(i+2)*sizeof(int));//动态... C语言数组定义C语言数组定义,怎么用C语言定义一个无限长的数组:可以,但有可能会出现“truncation from 'const double' to 'float'”的警告,比如: #include <stdio.h> void main() { int i,j;... C语言数据结构循环队列