c程序小练习包括几种排序算法Word文件下载.docx

上传人:b****5 文档编号:20773890 上传时间:2023-01-25 格式:DOCX 页数:16 大小:17.88KB
下载 相关 举报
c程序小练习包括几种排序算法Word文件下载.docx_第1页
第1页 / 共16页
c程序小练习包括几种排序算法Word文件下载.docx_第2页
第2页 / 共16页
c程序小练习包括几种排序算法Word文件下载.docx_第3页
第3页 / 共16页
c程序小练习包括几种排序算法Word文件下载.docx_第4页
第4页 / 共16页
c程序小练习包括几种排序算法Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c程序小练习包括几种排序算法Word文件下载.docx

《c程序小练习包括几种排序算法Word文件下载.docx》由会员分享,可在线阅读,更多相关《c程序小练习包括几种排序算法Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

c程序小练习包括几种排序算法Word文件下载.docx

"

;

endl;

}

intmain()

doublemoney;

cout<

输入金钱数目:

cin>

>

money;

back(money);

return0;

//输入234,输出234+432

intchange(intb)

inttemp,change=0;

while(b)

{

temp=b%10;

b=b/10;

change=change*10+temp;

returnchange;

inta;

putanumber:

a;

逆序后的数是:

change(a)<

相加后的数是:

a+change(a)<

return0;

//eg,输入5,输出:

ACFJO

BEIN

DHM

GL

K

charnum='

A'

intn;

chara[20][20]={'

0'

};

n;

for(intq=1;

q<

=n;

q++)

for(inti=q-1,j=0;

i>

=0&

&

q;

i--,j++)

a[i][j]=num;

num++;

intab=n;

for(intm=0;

m<

m++)

{

for(intf=0;

ab;

{

cout<

a[m][f]<

}

ab--;

 

//输入10个学生成绩,统计最高分,最低分和平均分

iostream>

usingnamespacestd;

voidmain()

floatstudent[10],max,min,avg;

puttenstudents'

score"

for(inti=0;

i<

10;

i++)

cin>

student[i];

max=student[0];

min=student[0];

avg=student[0];

for(intj=1;

avg+=student[j];

if(student[j]>

max)

max=student[j];

elseif(student[j]<

min)

min=student[j];

themaxis:

max<

theminis:

min<

theavgis:

avg/5;

/*输出35个数据的杨辉三角,例如:

1

11

121

1331

14641*/

inti,count=0,temp=0;

inta[20][20];

for(i=0;

count+=i;

if(count>

=35)

break;

m++)//初始化数组为0

for(intn=0;

n<

=i;

n++)

a[m][n]=0;

for(intm=1;

for(intn=1;

=m;

a[0][0]=1;

a[n][0]=1;

a[m][n]=a[m-1][n-1]+a[m-1][n];

//cout<

a[m][n]<

for(intm=0;

m++)//输出数组

for(intn=0;

temp++;

cout<

if(temp>

=35)//控制只输出35个数

break;

//输入正偶数,分解成两个素数之和

//(正偶数分解成两个素数,这两个素数一定是奇数,所以从3开始)

math.h>

iomanip>

intn,i,j;

putn(n>

3的偶数):

while(n==2||n%2!

error,pleaseputnagain:

if(n==4)

2"

for(inta=3;

a<

=n/2;

a+=2)

for(i=2;

if(a%i==0)//a不是素数

if(i>

=a)//找到了素数

{

intb=n-a;

for(j=2;

b;

if(b%j==0)

break;

if(j>

=b)

{

cout<

setw(6)<

b<

//break;

//找到一种结果即终止

}

//十进制转换为二进制

intn,i=0;

intb[16];

inputn:

while(n!

b[i++]=n%2;

n=n/2;

}

for(intm=i-1;

m>

=0;

m--)

cout<

b[m];

//直接插入排序,array[0]做哨兵

putthe10numbers:

inti,j,array[11];

for(i=1;

11;

array[i];

for(i=2;

=10;

if(array[i]<

array[i-1])

array[0]=array[i];

j=i-1;

do//元素后移

array[j+1]=array[j];

j--;

}while(array[0]<

array[j]);

array[j+1]=array[0];

//插入元素的位置

array[i]<

//冒泡排序

#definelen10

voidmain()//排序元素array[0]~array[len-1]

inti,j,temp,array[len]={0,2,3,70,5,8,4,1,9,6};

len;

i++)//打印数组元素

i++)//最多len-1趟排序

for(j=len-1;

j>

j--)//对数组元素自后向前扫描,j--

if(array[j]<

array[j-1])

temp=array[j];

array[j]=array[j-1];

array[j-1]=temp;

方法二:

往后冒泡,最大的往后沉;

voidswap(intarr[],intx,inty)

inttemp=arr[x];

arr[x]=arr[y];

arr[y]=temp;

voidbubble(intarr[])

i++){

for(intj=0;

len-i-1;

if(arr[j]>

arr[j+1])

swap(arr,j,j+1);

intarr[10]={12,3,45,67,8,0,3,23,1,2};

inttotal=0;

bubble(arr);

for(intn=0;

arr[n]<

total++;

if(total%5==0)

直接选择排序函数

voidselectSort(intarr[])

len-1;

for(intj=i+1;

if(arr[j]<

arr[i])

swap(arr,j,i);

快速排序:

voidquick_sort_sub(intarr[],intleft,intright)

intleft_index=left;

intright_index=right;

intmid_number=arr[(left+right)/2];

while(left_index<

=right_index)

while(arr[left_index]<

mid_number)

left_index++;

while(arr[right_index]>

right_index--;

if(left_index<

swap(arr,left_index,right_index);

if(right_index>

left)

quick_sort_sub(arr,left,right_index);

if(left_index<

right)

quick_sort_sub(arr,left_index,right);

voidquick_sort(intarr[])

quick_sort_sub(arr,0,len-1);

//直接选择排序

inti,j,temp,array[len]={0,20,3,70,5,8,4,1,9,6};

i++)//最多len-1趟排序,最后一次不用再排序,直接比较//出结果

for(j=i+1;

j++)

array[i])

array[j]=array[i];

array[i]=temp;

//快速排序

#defineswap(a,b){inttemp;

temp=a;

a=b;

b=temp;

}//注意a,b不用标注类型

voidquick_sort_sub(int*data,intleft,intright)

intpivot=data[(left+right)/2];

=right_index)//注意

while(data[left_index]<

pivot)

left_index++;

while(data[right_index]>

swap(data[left_index],data[right_index]);

quick_sort_sub(data,left,right_index);

quick_sort_sub(data,left_index,right);

voidquick_sort(int*data,intdata_size)

quick_sort_sub(data,0,data_size-1);

intdata_size;

inputthedata_size:

data_size;

intdata[100];

inputthedata[]:

data[i];

quick_sort(data,data_size);

data[i]<

if((i+1)%5==0)

//逆序输出数组

voidswap(int&

a,int&

b)

intp=a;

a=b;

b=p;

intarr[]={2,12,4,56,7,9,10};

intm=sizeof(arr)/4;

//0-m

inttemp=m;

while(i<

=m/2)

swap(arr[i],arr[temp-1]);

i++;

temp--;

m;

arr[j]<

字符串,strcpy函数相关实现

#include<

char*strcpy(char*a,char*b)//主要函数的实现过程

{

while((*(a++)=*(b++))!

=0);

returna;

charstr[]="

hello"

写出*str=”hello”形式会出错,不知道为什么?

charstr1[]="

hihi"

strcpy(str,str1);

str;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1