如何用C语言设计程序排列6个数字的大小顺序?

如何用C语言设计程序排列6个数字的大小顺序?,第1张

排序数组可以使用冒泡算法:如果前一个数据比后一个大,则交换。

{

int i,j,t,a[6]

printf("Please input 6 integers:\n")

for(i=0i<6i++)

scanf("%d",&a[i])

for(i=0i<5i++) /* 冒泡法排序 */

for(j=0j<6-i-1j++)

if(a[j]>a[j+1])

{t=a[j]/* 交换a[i]和a[j] */

a[j]=a[j+1]

a[j+1]=t

}

优点:

简洁紧凑、灵活方便:C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。

以上内容参考:百度百科-c语言程序设计

#include <iostream>

void print(int *arr, int length) {

for (int i = 0i <length++i) {

std::cout <<*(arr + i)

}

std::cout <<std::endl

}

void swap(int *arr1, int *arr2) {

int temp = *arr1

*arr1 = *arr2

*arr2 = temp

}

void permutate(int *arr, int length, int *subArr, int subLen) {

if (subLen == 1) { print(arr, length)}

else {

for (int i = 0i <subLen++i) {

swap(subArr, subArr + i)

permutate(arr, length, subArr + 1, subLen - 1)

swap(subArr, subArr + i)

}

}

}

void permutate(int *arr, int length) {

permutate(arr, length, arr, length)

}

int main()

{

int n

std::cout <<"enter a number n: (1 <= n <= 9)" <<std::endl

std::cin >>n

int *arr = new int[n]

for (int i = 0i <n++i) {

arr[i] = i + 1

}

permutate(arr, n)

delete [] arr

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11639914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存