开发者社区> 问答> 正文

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

用C语言解答

展开
收起
知与谁同 2018-07-21 17:55:40 6245 0
2 条回答
写回答
取消 提交回答
  • #include <stdio.h>

    #define LEN 10

    void ReadNumber(int *num)
    {
    int i;
    for (i=0; i<LEN; i++)
    {
    scanf("%d", &num[i]);
    }
    }

    void Sort(int *num)
    {
    int i, j;
    int single, temp;
    for(i=LEN; i>0; i--)
    {
    single = 0;
    for (j=0; j<LEN-1; j++)
    {
    if (num[j]<num[j+1])
    {
    temp = num[j];
    num[j] = num[j+1];
    num[j+1] = temp;
    single = 1;
    }

    }
    if (single == 0)
    {
    break;
    }
    }

    }

    int find(int *num, int CheckNumber)
    {
    int i=0;
    while(i<LEN)
    {
    if ( num[i] == CheckNumber)
    {
    return i+1;
    }
    i++;
    }
    return 0;
    }

    void main()
    {
    int num[LEN];
    // int i;
    ReadNumber(num);
    // for(i=0; i<LEN; i++)
    // {
    // printf("%d", num[i]);
    // }
    Sort(num);
    // putchar(10);
    // for(i=0; i<LEN; i++)
    // {
    // printf("%d", num[i]);
    // }
    // putchar(10);
    // i=0;
    // if (i = find(num, 3))
    // {
    // printf("%d", i);
    // }
    find(num, 4);

    }
    2019-07-17 22:50:12
    赞同 展开评论 打赏
  • 社区管理员
    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])

    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.
    2019-07-17 22:50:12
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载