求位C语言编程高手帮忙编程序? 请求c语言编程高手帮忙:使用位运算符把十进制转换成二进制

作者&投稿:丙婕 (若有异议请与网页底部的电邮联系)
#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 2 /*车库容量*/ #define price 0.05 /*每车每分钟费用*/ typedef struct time{ int hour; int min; }Time; /*时间结点*/ typedef struct node{ char num[10]; Time reach; Time leave; }CarNode; /*车辆信息结点*/ typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车站*/ typedef struct car{ CarNode *data; struct car *next; }QueueNode; typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟通道*/ /*------------------------------------------------------------------------------*/ void InitStack(SeqStackCar *); /*初始化栈*/ int InitQueue(LinkQueueCar *); /*初始化便道*/ int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/ void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/ /*------------------------------------------------------------------------------*/ void main() { SeqStackCar Enter,Temp; LinkQueueCar Wait; int ch; InitStack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) { printf("\n1. the car arrive"); printf(" 2. the car leave"); printf(" 3. the schedule "); printf(" 4. out\n"); while(1) { scanf("%d",&ch); if(ch>=1&&ch<=4)break; else printf("\nplease choose: 1|2|3|4."); } switch(ch) { case 1:Arrival(&Enter,&Wait);break; /*车辆到达*/ case 2:Leave(&Enter,&Temp,&Wait);break; /*车辆离开*/ case 3:List(Enter,Wait);break; /*列表打印信息*/ case 4:exit(0); /*退出主程序*/ default: break; } } } /*------------------------------------------------------------------------------*/ void InitStack(SeqStackCar *s) /*初始化栈*/ { int i; s->top=0; for(i=0;i<=MAX;i++) s->stack[s->top]=NULL; } int InitQueue(LinkQueueCar *Q) /*初始化便道*/ { Q->head=(QueueNode *)malloc(sizeof(QueueNode)); if(Q->head!=NULL) { Q->head->next=NULL; Q->rear=Q->head; return(1); } else return(-1); } void PRINT(CarNode *p,int room) /*打印出站车的信息*/ { int A1,A2,B1,B2; printf("\nplease input thedepart time:/**:**/"); scanf("%d:%d",&(p->leave.hour),&(p->leave.min)); printf("\nthe number of the car:"); puts(p->num); printf("\nthe time the car arrive: %d:%d",p->reach.hour,p->reach.min); printf("the depart time: %d:%d",p->leave.hour,p->leave.min); A1=p->reach.hour; A2=p->reach.min; B1=p->leave.hour; B2=p->leave.min; printf("\nthe fee: %2.1f元",((B1-A1)*60+(B2-A2))*price); free(p); } int Arrival(SeqStackCar *Enter,LinkQueueCar *W) /*车辆到达*/ { CarNode *p; QueueNode *t; p=(CarNode *)malloc(sizeof(CarNode)); flushall(); printf("\ninput the number of the car(例:陕A1234):"); gets(p->num); if(Enter->top<MAX) /*车场未满,车进车场*/ { Enter->top++; printf("\nthe place of the car.",Enter->top); printf("\nthe time thecar arrive:/**:**/"); scanf("%d:%d",&(p->reach.hour),&(p->reach.min)); Enter->stack[Enter->top]=p; return(1); } else /*车场已满,车进便道*/ { printf("\n该车须在便道等待!"); t=(QueueNode *)malloc(sizeof(QueueNode)); t->data=p; t->next=NULL; W->rear->next=t; W->rear=t; return(1); } } void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) { /*车辆离开*/ int i, room; CarNode *p,*t; QueueNode *q; /*判断车场内是否有车*/ if(Enter->top>0) /*有车*/ { while(1) /*输入离开车辆的信息*/ { printf("\n请输入车在车场的位置/1--%d/:",Enter->top); scanf("%d",&room); if(room>=1&&room<=Enter->top) break; } while(Enter->top>room) /*车辆离开*/ { Temp->top++; Temp->stack[Temp->top]=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; } p=Enter->stack[Enter->top]; Enter->stack[Enter->top]=NULL; Enter->top--; while(Temp->top>=1) { Enter->top++; Enter->stack[Enter->top]=Temp->stack[Temp->top]; Temp->stack[Temp->top]=NULL; Temp->top--; } PRINT(p,room); /*判断通道上是否有车及车站是否已满*/ if((W->head!=W->rear)&&Enter->top<MAX) /*便道的车辆进入车场*/ { q=W->head->next; t=q->data; Enter->top++; printf("\n便道的%s号车进入车场第%d位置.",t->num,Enter->top); printf("\n请输入现在的时间/**:**/:"); scanf("%d:%d",&(t->reach.hour),&(t->reach.min)); W->head->next=q->next; if(q==W->rear) W->rear=W->head; Enter->stack[Enter->top]=t; free(q); } else printf("\n便道里没有车.\n"); } else printf("\n车场里没有车."); /*没车*/ } void List1(SeqStackCar *S) /*列表显示车场信息*/ { int i; if(S->top>0) /*判断车站内是否有车*/ { printf("\n车场:"); printf("\n 位置 到达时间 车牌号\n"); for(i=1;i<=S->top;i++) { printf(" %d ",i); printf("%d:%d ",S->stack[i]->reach.hour,S->stack[i]->reach.min); puts(S->stack[i]->num); } } else printf("\n车场里没有车"); } void List2(LinkQueueCar *W) /*列表显示便道信息*/ { QueueNode *p; p=W->head->next; if(W->head!=W->rear) /*判断通道上是否有车*/ { printf("\n等待车辆的号码为:"); while(p!=NULL) { puts(p->data->num); p=p->next; } } else printf("\n便道里没有车."); } void List(SeqStackCar S,LinkQueueCar W) { int flag,tag; flag=1; while(flag) { printf("\n请选择 1|2|3:"); printf("\n1.车场\n2.便道\n3.返回\n"); while(1) { scanf("%d",&tag); if(tag>=1||tag<=3) break; else printf("\n请选择 1|2|3:"); } switch(tag) { case 1:List1(&S);break; /*列表显示车场信息*/ case 2:List2(&W);break; /*列表显示便道信息*/ case 3:flag=0;break; default: break; } } }

急求C语言编程高手帮忙~~~~

这里边有多种排序的方法,你可以直选其中一种或多种。
#include
using namespace std;
#define Max 100
class Sample
{
int A[Max];
int n;
friend class process;
public:
Sample(){n=0;}
};
class process
{
void qsort(Sample &s,int l,int h);
public:
void getdata(Sample &s);
void insertsort(Sample &s);
void shellsort(Sample &s);
void bubblesort(Sample &s);
void quicksort(Sample &s);
void selectsort(Sample &s);
void disp(Sample &s);
};
void process::getdata(Sample &s)
{
int i;
cout<<"元素个数:";
cin>>s.n;
for(i=0;i<s.n;i++)
{
cout<<"输入第"<<i+1<<"个数据:";
cin>>s.A[i];
}
}
void process::insertsort(Sample &s) // 插入排序
{
int i,j,temp;
for(i=1;i<s.n;i++)
{
temp=s.A[i];
j=i-1;
while(temp<s.A[j])
{
s.A[j+1]=s.A[j];
j--;
}
s.A[j+1]=temp;
}
}
void process::shellsort(Sample &s) // 希尔排序
{
int i,j,gap,temp;
gap=s.n/2;
while(gap>0)
{
for(i=gap;i<s.n;i++)
{
temp = s.A[i];
j=i-gap;
while(j>=0 && s.A[j]>temp){
s.A[j+gap] = s.A[j];
j = j - gap;
}
s.A[j+gap] = temp;
}
gap=gap/2;
}
}
void process::bubblesort(Sample &s) // 冒泡排序
{
int i,j,temp;
for(i=0;i<s.n;i++)
for(j=s.n-1;j>=i+1;j--)
if(s.A[j]<s.A[j-1])
{
temp=s.A[j];
s.A[j]=s.A[j-1];
s.A[j-1]=temp;
}
}
void process::quicksort(Sample &s) // 快速排序
{
qsort(s,0,s.n-1);
}
void process::qsort(Sample &s,int l,int h)
{
int i=l,j=h,temp;
if(l<h)
{ temp=s.A[l];
do
{
while(j>i&&s.A[j]>=temp)
j--;
if(i<j)
{
s.A[i]=s.A[j];
i++;
}
while(i<j&&s.A[i]<=temp)
i++;
if(i<j)
{
s.A[j]=s.A[i];
j--;
}
}while(i<j);
s.A[i]=temp;
qsort(s,l,j-1);
qsort(s,j+1,h);

}
}
void process::selectsort(Sample &s) // 选择排序
{
int i,j,k,temp;
for(i=0;i<s.n;i++)
{
k=i;
for(j=i+1;j<=s.n-1;j++)
if(s.A[j]<s.A[k])
k=j;
temp=s.A[i];
s.A[i]=s.A[k];
s.A[k]=temp;
}
}
void process::disp(Sample &s)
{
for(int i=0;i<s.n;i++)
cout<<s.A[i]<<" ";
cout<<endl;
}
int main()
{
int sel;
Sample s;
process p;
p.getdata(s);
cout<<"原来序列:";
p.disp(s);
cout<<"0:插入排序 1:希尔排序 2:冒泡排序 3:快速排序 4:选择排序 其它退出"<<endl;
cout<<"选择排序方法:";
cin>>sel;
switch(sel)
{
case 0:
p.insertsort(s);
cout<<"插入排序结果:";
break;
case 1:
p.shellsort(s);
cout<<"希尔排序结果:";
break;
case 2:
p.bubblesort(s);
cout<<"冒泡排序结果:";
break;
case 3:
p.quicksort(s);
cout<<"快速排序结果:";
break;
case 4:
p.selectsort(s);
cout<<"选择排序结果:";
break;
}
p.disp(s);
}

供参考……
#include "stdio.h"
void main(void){
int n;
unsigned x;
printf("请输入一个十进制数...
nDec=");
scanf("%d",&n);
x=sizeof(int)==2 ? 0x8000 : 0x80000000;
while(!(n&x)) x>>=1;
printf("
%d的二进制是:",n);
for(;x;x>>=1)
printf("%d",n&x || 0);
printf("
");
}

跪求C语言编程高手帮忙编个小程序,大一年级的
答:tot=a+b+c+d+e;printf("字符串中共有:%d字符\n大写字母:%d个\n小写字母:%d个\n数字:%d个\n空格:%d个\n其他字符:%d\n",tot,a,b,c,d,e);for(i=0;i<tot-1;i++){ iPos = i;for(j=i+1;j<tot;j++)if(ch[j]<ch[iPos])iPos=j;iTemp = ch[i];ch[i] = ch[iPo...

求位C语言编程高手帮忙编程序?
答:Temp; LinkQueueCar Wait; int ch; InitStack(&Enter); /*初始化车站*/ InitStack(&Temp); /*初始化让路的临时栈*/ InitQueue(&Wait); /*初始化通道*/ while(1) { printf("\n1.

请C语言编程达人帮忙编写一段程序
答:我没用用文件啊 用的就是结构体typedef struct employee 这个就是结构体 include<stdio.h> include<stdlib.h> typedef struct employee { int id;char name[20];char department[20];int money;char position[20];struct employee *next;}Employee,*ept;typedef struct { ept head;//头指针 ept ...

高手帮帮忙做几道c语言编程题 急求
答:1.#include<stdio.h> void main(){ int max(int x,int y,int z); //声明求最大值的函数 int a,b,c,d; //定义变量 scanf("%d,%d,%d",&a,&b,&c); //输入三个整数 d=max(a,b,c); //求三个整数的最大值 printf("max=%d\n",d); //输出最大值 } int max(int x,in...

C语言编程高手来帮忙编个程序啊!马上就要!
答:PS:飘渺世间天 程序精彩,高手!include <stdio.h> /*计算方法1使用的函数*/ unsigned int jc(unsigned int n){ static unsigned int rt = 1;return rt *= n;} /*计算方法2使用的函数*/ int jc1(int n){ return n <= 1 ? 1 : n * jc1(n-1);} int main(){ unsigned int i ...

求助,c语言高手进来帮忙编程
答:1、include<stdio.h> define N 10 void main(){ int arry[N];int i,j,temp;printf("请输入%d个整数:\n",N);for(i=0;i<N;i++)scanf("%d",&arry[i]);for(i=0;i<N;i++)for(j=i+1;j<N;j++)if(arry[i]<arry[j]){temp=arry[i];arry[i]=arry[j];arry[j]=temp;...

求C语言编程高手帮忙!!!
答:int main(){ int input, Max, Sec, i = 2;printf("请输入至少2个且不多于20个整数(退出请输入0,多于2个时): \n");while(i){ while(!scanf("%d", &input)) //阻止你不配合地输入字符,而不是数字 { printf("输入非法,请重新输入...\n");while(getchar() != '\n'); ...

C语言高手请帮忙!!!
答:用if语句编程,输入x,输出y;include <stdio.h> int main(void){ int x,y;printf("\nInput x=");scanf("%d",&x);if(x>0) y=1;else if(x==0) y=0;else y=-1;printf("y=%d\n",y);getch();return 0;} 调试用例子:输入:x=10 输出:y=1;输入:x=0 输出:y=0 输入...

各位C语言高手们,我急求个程序
答:if(oper=='+')return num1+num2;else if(oper=='-')return num1-num2;else if(oper=='*')return num1*num2;else if(oper=='/')return num1/num2;else return 0;} double yunsuan2(double num[],char oper[][8],int yxj[]){ int flag[4];double result1=0.0;for(int k...

高手们,帮忙啊,c语言程序设计
答:高手们,帮忙啊,c语言程序设计 素数幻方求四阶的素数幻方。即在一个4X4的矩阵中,每一个格填入一个数字,使每一行、每一列和两条对角线上的4个数字所组成的四位数,均为可逆素数。{要求(1)请给出问题分析与算法设... 素数幻方求四阶的素数幻方。即在一个4X4 的矩阵中,每一个格填 入一个数字,使每一行、...