• 2022-06-12
    用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。
  • 解:程序如下:# includeint main( ){void sort(int p,int n);int i,n,date[20],**p,* pstr[20];printf("input n:\n");scanf("%d",&n) ;for (i=0;i**(p+j))  //比较后交换整数地址          {temp= * (p+i);            *(p+i)= *(p+j);           *(p+j) = temp;          }       }    }}运行结果:[img=292x80]17d84c0dd254d15.png[/img]data数组用来存放n个整数,pstr是指针数组,每一个元素指向data 数组中的一个元素,p是指向指针的指针,请参考图8.5。图8. 5(a)表示的是排序前的情况,图8. 5(b)表示的是排序后的情况。可以看到data数组中的数,次序没有变化,而pstr指针数组中的各元素的值(也就是它们的指向)改变了。[img=535x255]17d84c18a7b62e3.png[/img]

    举一反三

    内容

    • 0

      编写一个采用冒泡法对n个数由小到大进行排序的函数。在主函数中输入n的值及n个数,然后调用自定义函数并输出排序结果。

    • 1

      程序设计题:编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。要求:(1)编写一个函数prime(n),判断返回给定整数n是否为素数。(2)编写一个主函数,输入一个整数,调用第(1)题中的函数,判断此函数是否为素数,并输出结果。

    • 2

      函数功能:将字符串指针数组string指向的n个字符串依次输出 26ef9a1c1eaa5c2fe1dc2248fb2044fa.jpg

    • 3

      有 [color=#000000]n[/color] 个整数, 使前面各数顺序向后移 [color=#000000]m[/color] 个位置, 移出的数再从开头移入。编写一个函数 实现以上功能, 在主函数中输入 [color=#000000]n[/color] 个整数并输出调整后的 [color=#000000]n[/color] 个数。

    • 4

      编写函数,对数组中的10个整数从小到大排序。在主函数中用键盘输入10个整数,并在主函数中输出排好序的数组。