小哼买书算法练习

来源:互联网 发布:淘宝卖家客服几点上班 编辑:程序博客网 时间:2024/05/21 19:28
<pre name="code" class="cpp">#include<stdio.h>int main(){int isbn[1001],member,omem;int a,i;puts("输入调查数:");for(i=1;i<=1000;i++)isbn[i]=0;<span style="white-space:pre"></span>while(scanf("%d",&member)!=1)puts("输入错误,请重新输入。");omem=member;printf("请输入%d个ISBN号\n",member);for(i=1;i<=member;i++){scanf("%d",&a);if(isbn[a]>0) omem--;else isbn[a]=1;}printf("%d\n",omem);for(i=1;i<=1000;i++){if(isbn[i]!=0)printf("%d ",i);}getchar();getchar();}

章第4节 小哼买书
桶排序版本
技巧:多大范围就有多少个桶。
</pre><p><img src="" alt="" /></p><p>冒泡排序版本:</p><p>技巧:双重循环,每小循环一次就比较一次(从第一个数与第二个数开始比),每大循环一次就冒一个泡;</p><p></p><pre code_snippet_id="512052" snippet_file_name="blog_20141107_5_3008795" name="code" class="cpp">#include<stdio.h>int main(){int isbn[101],member,omem;int a,i,j,temp;puts("输入调查数:");for(i=0;i<=100;i++)isbn[i]=0;//初始化while(scanf("%d",&member)!=1)puts("输入错误,请重新输入。");omem=member;printf("请输入%d个ISBN号\n",member);//输入与冒泡排序for(i=1;i<=member;i++)scanf("%d",&isbn[i]);for(i=1;i<=member-1;i++)for(j=1;j<=member-1;j++)if(isbn[j]>isbn[j+1]) {temp=isbn[j+1];isbn[j+1]=isbn[j];isbn[j]=temp;}printf("%d ",isbn[1]);for(i=2;i<=member;i++){if(isbn[i]==isbn[i-1])  omem--;else printf("%d ",isbn[i]);}getchar();getchar();}

快速排序-函数版

#include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b){     return(*(int *)a-*(int *)b);}int main(){int isbn[101],member,omem;int a,i,j,temp,std;puts("输入调查数:");for(i=0;i<=100;i++)isbn[i]=0;//初始化while(scanf("%d",&member)!=1)puts("输入错误,请重新输入。");omem=member;printf("请输入%d个ISBN号\n",member);//输入for(i=1;i<=member;i++)scanf("%d",&isbn[i]);//快速排序qsort((void*)&isbn[1],member,sizeof(int),cmp);//输出printf("%d ",isbn[1]);for(i=2;i<=member;i++){if(isbn[i]==isbn[i-1])  omem--;else printf("%d ",isbn[i]);}getchar();getchar();}


0 0
原创粉丝点击