用冒泡排序法对输入的20个数进行降序并存入数组中,输入一个数,查看是否存在

如题所述

int main(void)
{
int i,j,array[20],temp;
printf("Input 20 integer:"); /*输入20个整数*/
for(i=0;i<20;i++)
scanf("%d",&array[i]);
printf("\n");
for(i=0;i<20;i++) /*用双重循环,冒泡法排序*/
for(j=i;j<20;j++)
if(array[i]<array[j])
{temp=array[i];array[i]=array[j];array[j]=temp;}
for(i=0;i<20;i++) /*输出排序后的数组元素*/
printf("%d\t",array[i]);
printf("\nInput integer:"); /*输入一个整数*/
scanf("%d",&temp);
for(i=0;i<20&&temp<=array[i];i++) /*在排序后的数组中查找*/
if(temp==array[i])
printf("array[%d] is needed.\n",i); /*在数组中有可能有相等的元素*/
if(temp!=array[i-1])
printf("array[] have not the integer.");/*数组中没有所输入的数*/
getch();
return 0;
}
程序运行结果:
Input 20 integer:1 2 3 4 5 66 77 33 22 33 4 66 4 8 7 6 55 33 222 20

222 77 66 66 55 33 33 33 22 20
8 7 6 5 4 4 4 3 2 1

Input integer:4
array[14] is needed.
array[15] is needed.
array[16] is needed.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-12
以C++为列,冒泡排序书上有列题,然后用FOR循环存到一个数组里,用CIN输入一个数给变量,用这个变量和数组在第2个FOR循环里用
IF(。。== A[。。])是就存在,否就用ELSE说不存在
第2个回答  2007-05-12
最初的爱情诗:
你来自元谋
我来自周口
牵着你毛绒绒的小手
再轻轻的咬上一口
啊~~~
是爱情让我们直立行走
相似回答