酷代码 AI
菜单
服务商

请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。 输入格式: 输入给出正整数n(<10)。 输出格式: 输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a 1​,a 2​,⋯,a n​排在序列b 1​,b 2​,⋯,b n​之前,如果存在k使得a 1​=b 1​,⋯,a k​=b k​并且 a k+1​<b k+1​。 用c语言 ```c

#include<stdio.h> void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void permute(int *num, int start, int end) { if (start == end) { for (int i = 0; i <= end; i++) { printf("%d", num[i]); } printf("\n"); } else { for (int i = start; i <= end; i++) { swap(&num[start], &num[i]); permute(num, start + 1, end); swap(&num[start], &num[i]); } } } int main() { int n; scanf("%d", &n); int num[n]; for (int i = 0; i < n; i++) { num[i] = i + 1; } permute(num, 0, n - 1); return 0; } [2024-11-22 00:55:54 | AI写代码神器 | 434点数解答]

相关提问
请收藏新域名:pdcd.cn
发财导航,免费问AI
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]