用冒泡排序法对输入的20个数进行降序并存入数组中,输入一个数,查看是否存在 编写一个控制台程序,用array方法对输入的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.

以C++为列,冒泡排序书上有列题,然后用FOR循环存到一个数组里,用CIN输入一个数给变量,用这个变量和数组在第2个FOR循环里用
IF(。。== A[。。])是就存在,否就用ELSE说不存在

最初的爱情诗:
你来自元谋
我来自周口
牵着你毛绒绒的小手
再轻轻的咬上一口
啊~~~
是爱情让我们直立行走

用冒泡排序法对输入的10个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中~

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("
");
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",array[i]);
printf("
Input integer:"); /*输入一个整数*/
scanf("%d",&temp);
for(i=0;i<20&&temp<=array[i];i++) /*在排序后的数组中查找*/
if(temp==array[i])
printf("array[%d] is needed.
",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.

楼主把题说完 是不是查找该数是否在数组中?


package org.firefrog.baidu.zhidao.java;

import java.util.Arrays;
import java.util.Scanner;

public class Sort {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int[] num = new int[20];
for (int i = 0; i < 20; i++) {
num[i] = cin.nextInt();
}
Arrays.sort(num);
int search = cin.nextInt();
System.out.println(search(num, 0, 19, search));
}

private static int search(int[] arr, int beginIndex, int endIndex, int sear) {
if (arr[beginIndex] == sear) {
return beginIndex;
} else if (arr[endIndex] == sear) {
return endIndex;
}
if (beginIndex >= endIndex) {
if (arr[beginIndex] != sear) {
return -1;
} else {
return beginIndex;
}
} else {
int index = (beginIndex + endIndex) / 2;
if (sear == arr[index]) {
return index;
} else if (arr[index] > sear) {
return search(arr, index, endIndex - 1, sear);
} else {
return search(arr, beginIndex + 1, index, sear);
}
}
}
}

用冒泡排序法对输入的20个数进行降序并存入数组中,输入一个数,查看是...
答: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...

关于C语言的几道习题 急求高手解答!
答:1、用冒泡排序法对输入的20个数进行降序排列并寸入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出该数组中对应的下标值 include <stdio.h> define N 20 void main(){ int arr[N];int i,j,t,f;printf("输入数组:\n");for(i=0;i<N;i++)scanf("%d",arr+i);fo...

C语言编程高手请进!用冒泡法对20个数进行排序
答:首先你要将你排序的二十个数放到数组 int Num[](以整型为例。如果有小数: double Num[]) 里面。然后定义排序的函数: Sort(int Num[],int n); 第一个参数是你要排序的数组,第二个就是数组里面数的个数。函数实现: Sort(int Num[],int n){ for(int i=0;i<n;i++) {...

使用键盘向一维数组中输入20个整数,找出其中最大的数和最小的数。(数 ...
答:这个,假设第一个元素为最小,如果第二个元素比第一个大,那么把第二个元素的值赋给第一个,依次类推, 遍历循环整个数组,就能找到最大的,同理也能找到最小的,

用C语言实现输入20个整数,实现偶数项升序排序
答:void main() //冒泡排序 { int a[20], i,j,t;for(i=0;i<20;i++){ scanf("%d",&a[i]);} for(i=0;i<19;i+=2)for(j=1;j<20-i;j+=2){ if(a[j]>a[j+2]){ t=a[j];a[j]=a[j+2];a[j+2]=t;} } for (i=0;i<20;i++){ printf("%d ",a[i])...

用c语言编写:输入20个整数,分别用选择法和冒泡法实现降序排列后,再按照...
答:///冒泡法 include <stdio.h> void main (){ int i,a[100],n,j,k=1,t;printf ("输入个数n: ");//你要的是20,就输入10吧 scanf ("%d",&n);printf ("输入%d个数据:\n",n);for (i=0;i<n;i++){ printf ("a[%d]= ",i);scanf ("%d",&a[i]);} for (i=1;i<...

现在我想实现这个20个数从小到大排序(冒泡排序),不知道代码如何写...
答:include <stdio.h>int main(void){int a[20];int i,j,buf;printf("pls input 20 numbers:");for(i = 0;i < 20;i++)scanf("%d",&a[i]);for(i = 0;i < 20;i++) //外循环控制内循环的执行次数{for(j = 1;j < 20 - i ;j++) //内循环执行一次找到最大值,{ ...

c语言冒泡法升序排列20个数字遇到的问题
答:首先,scanf里面赋值的参数要是地址而不是值,也就是你该写成&a[i]然后就是数组下标是从0开始到元素个数减1,你定义的是20,下标就是0-19,不存在20这个下标,而你所有用的都是1-20,这是个基本概念 最后就是,冒泡排序比较次数是n-1,也就是说每一次都是那当前的数和下一数比,那么也就是到了...

用随机函数产生20个1000以内整数存入数组中,用冒泡法将它们从大到小排 ...
答:Random(arr);//产生20个随机数,并将其存入数组arr中 BubbleSort(arr);//利用冒泡算法对数组arr中20个整数进行排序 display(arr);//显示降序排序后的整数 return 0;} /*函数描述:产生20个1000以内的随机数*/ /*参数:p:指向数组的首地址·*/ /*返回值:无*/ void Random(int *p){ int ...

用随机函数产生20个1000以内整数存入数组中,用冒泡法将它们从大到小排 ...
答:include <iostream>#include <string>#include <ctime>void Maopao_sort(int array[] ,int n){//冒泡排序 int tmp; for(int i = 0; i < n-1; i++) { for(int j = 0; j < n - i-1; j++) { if(array[j] < array[j+1]) { tmp = array[j+1]; array...