求位C语言编程高手帮忙编程序? 请求c语言编程高手帮忙:使用位运算符把十进制转换成二进制
急求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 的矩阵中,每一个格填 入一个数字,使每一行、...