随机生成3个数,创建3个指针指向这3个数,不改变这3个数,从大到小显示。

来源:互联网 发布:linux挂载windows盘 编辑:程序博客网 时间:2024/05/18 03:48

题目:随机生成3个数,创建3个指针指向这3个数,不改变这3个数,从大到小显示,具体实现如下:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. #include<stdlib.h>  
  2. #include<stdio.h>  
  3. #include<time.h>  
  4. void main()  
  5. {  
  6.     int a = 0;  
  7.     int b = 0;  
  8.     int c = 0;  
  9.     srand(time(NULL));  
  10.     a = 3; //rand() % 10;  
  11.     b = 2; //rand() % 10;  
  12.     c = 1;// rand() % 10;  
  13.     int * pa = &a;  
  14.     int * pb = &b;  
  15.     int * pc = &c;  
  16.     //从小到大  
  17.     int * pMin = pa;  
  18.     if (*pb < *pMin)  
  19.     {  
  20.         pMin = pb;  
  21.     }  
  22.     if (*pc < *pMin)  
  23.     {  
  24.         pMin = pc;  
  25.     }  
  26.     printf("数据从小到大:\n");  
  27.     if (pMin == pa)  
  28.     {  
  29.         printf("%d  ", *pMin);  
  30.         if(*pc < * pb)  
  31.         {  
  32.             printf("%d  ", *pc);  
  33.             printf("%d", *pb);  
  34.         }  
  35.         else  
  36.         {  
  37.             printf("%d  ", *pb);  
  38.             printf("%d", *pc);  
  39.         }  
  40.     }  
  41.     else if (pMin == pb)  
  42.     {  
  43.         printf("%d  ", *pMin);  
  44.         if (*pc < *pa)  
  45.         {  
  46.             printf("%d  ", *pc);  
  47.             printf("%d", *pa);  
  48.         }  
  49.         else  
  50.         {  
  51.             printf("%d  ", *pa);  
  52.             printf("%d", *pc);  
  53.         }  
  54.     }  
  55.     else if (pMin == pc)  
  56.     {  
  57.         printf("%d  ", *pMin);  
  58.         if (*pa < *pb)  
  59.         {  
  60.             printf("%d  ", *pa);  
  61.             printf("%d", *pb);  
  62.         }  
  63.         else  
  64.         {  
  65.             printf("%d  ", *pb);  
  66.             printf("%d", *pa);  
  67.         }  
  68.     }  
  69.     else  
  70.     {  
  71.         printf("指针无效.\n");  
  72.         return;  
  73.     }  
  74.     printf("\n");  
  75.     //数据从大到小  
  76.     int * pMax = pa;  
  77.     if (*pb > *pMax)  
  78.     {  
  79.         pMax = pb;  
  80.     }  
  81.     if (*pc > *pMax)  
  82.     {  
  83.         pMax = pc;  
  84.     }  
  85.     printf("数据从大到小:\n");  
  86.     if (pMax == pa)  
  87.     {  
  88.         printf("%d  ", *pMax);  
  89.         if (*pc < *pb)  
  90.         {  
  91.             printf("%d  ", *pb);  
  92.             printf("%d", *pc);  
  93.         }  
  94.         else  
  95.         {  
  96.             printf("%d  ", *pc);  
  97.             printf("%d", *pb);  
  98.         }  
  99.     }  
  100.     else if (pMax == pb)  
  101.     {  
  102.         printf("%d  ", *pMax);  
  103.         if (*pc < *pa)  
  104.         {  
  105.             printf("%d  ", *pa);  
  106.             printf("%d", *pc);  
  107.         }  
  108.         else  
  109.         {  
  110.             printf("%d  ", *pc);  
  111.             printf("%d", *pa);  
  112.         }  
  113.     }  
  114.     else if (pMax == pc)  
  115.     {  
  116.         printf("%d  ", *pMax);  
  117.         if (*pa < *pb)  
  118.         {  
  119.             printf("%d  ", *pb);  
  120.             printf("%d", *pa);  
  121.         }  
  122.         else  
  123.         {  
  124.             printf("%d  ", *pa);  
  125.             printf("%d", *pb);  
  126.         }  
  127.     }  
  128.     else  
  129.     {  
  130.         printf("指针无效.\n");  
  131.         return;  
  132.     }  
  133.     printf("\n");  
  134.     system("pause");  
  135.     return;  
  136. }  
运行效果如图1所示:

图1 运行效果


0 0
原创粉丝点击