鱼C论坛

 找回密码
 立即注册
查看: 1901|回复: 1

[技术交流] 利用数组,正序输入十个数,倒序输出;利用两个程序文件

[复制链接]
发表于 2019-10-30 15:39:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void main()
{
        void reverse(int a[],int n);
        int a[10],i;
        printf("Please input 10 numbers:");

        for(i = 0;i < 10;i++)
        {
                scanf("%d",&a[i]);
        }
        reverse(a,10);

        for(i = 0;i < 10;i++)
        {
                printf("%d ",a[i]);
        }
}

#include <stdio.h>

void reverse(int a[],int n)
{
        int temp,m,*i,*j,*p;
        m = (n - 1)/2;       
        j = a + n - 1;
        i = a;
        p = a + m;
        for(;i < p+1;i++,j--)
        {
                temp = *i;
                *i = *j;
                *j = temp;
        }
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-30 19:49:38 | 显示全部楼层
本帖最后由 bin554385863 于 2019-10-30 20:45 编辑
  1. #include <stdio.h>
  2. void InputArray(int arr[], size_t arr_size) //创建数组
  3. {
  4.         for (size_t i = 0; i < arr_size; i++)
  5.         {
  6.                 scanf("%d", &arr[i]);
  7.         }
  8. }
  9. void SortArray(int arr[], size_t arr_size) //冒泡
  10. {
  11.         for (size_t i = 0; i < arr_size; i++)
  12.         {
  13.                 for (size_t j = 0; j < i; j++)
  14.                 {
  15.                         if (arr[j] > arr[i])
  16.                         {
  17.                                 int tmp = arr[j];
  18.                                 arr[j] = arr[i];
  19.                                 arr[i] = tmp;
  20.                         }
  21.                 }
  22.         }
  23. }
  24. void outputArray(int arr[], int arr_size, char flag) //输出
  25. {
  26.         if ((flag != '+') && (flag != '-'))
  27.         {
  28.                 printf("Parameter Error");
  29.         }
  30.         else if (flag == '+') //+号表示正序输出;
  31.         {
  32.                 for (size_t i = 0; i < arr_size; i++)
  33.                 {
  34.                         printf("%d ", arr[i]);
  35.                 }
  36.                 printf("\n");
  37.         }
  38.         else if (flag == '-')
  39.         {
  40.                 for (size_t j = arr_size -1; j != -1; j--) //-号代表反序
  41.                 {
  42.                         printf("%d ", arr[j]);
  43.                 }
  44.                 printf("\n");
  45.         }
  46. }
  47. void reverse(int arr[], int arr_size)//翻转数组
  48. {
  49.         for (size_t i = arr_size -1; i != -1; i--)
  50.         {
  51.                 int tmp = arr[i];
  52.                 arr[arr_size -1-i] = tmp;
  53.         }
  54. }
  55. int main(int argc, char const *argv[])
  56. {
  57.         int arr[5] = {0};
  58.         InputArray(arr, 5);
  59.         SortArray(arr, 5);
  60.         printf("UP\n");
  61.         outputArray(arr, 5, '+');
  62.         printf("DOWN\n");
  63.         outputArray(arr, 5, '-');

  64.         return 0;
  65. }
复制代码

---------------------------------------------------------------------------------------------------------------------
E:\Users\86184\Documents\Code>c:\Users\86184\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-fjbfyzrh.lgp --stdout=Microsoft-MIEngine-Out-lpm5sbkr.0tp --stderr=Microsoft-MIEngine-Error-1gv22jtx.vuy --pid=Microsoft-MIEngine-Pid-tyuk4jfi.rnc "--dbgExe=E:\My Program\MinGW\bin\gdb.exe" --interpreter=mi

E:\Users\86184\Documents\Code>cmd /C "c:\Users\86184\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-ytznha1m.a3y --stdout=Microsoft-MIEngine-Out-mr5tkgrt.ugy --stderr=Microsoft-MIEngine-Error-jey2wj1x.zvl --pid=Microsoft-MIEngine-Pid-dxs4cjcs.qee "--dbgExe=E:\My Program\MinGW\bin\gdb.exe" --interpreter=mi "
6 5 3 2 0
UP
0 2 3 5 6
DOWN
6 5 3 2 0


E:\Users\86184\Documents\Code>

============================================
其实反序输出只要排序号的数组尾部遍历就行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 18:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表