用C语言编程:打印由字符A、B、C、D组成的所有全排列。

作者&投稿:晨齐 (若有异议请与网页底部的电邮联系)
c语言作业,输出四个数A,B,C,D的全排列~

#include #include #include using namespace std;int main(){ int num[4]={1,2,3,4}; do { printf("%c,%c,%c,%c
",num[0]+'A'-1,num[1]+'A'-1,num[2]+'A'-1,num[3]+'A'-1); }while(next_permutation(num,num+4)); return 0;}可以借助于stl模板中的next_permutation函数,这个函数是按照字典序不停的取该序列的下一个序列,直到结束。然后输出的时候讲数字转化为你要的字母即可。
例如 第一个序列是1,2,3,4,--》A,B,C,D

//既然那些你看不懂,就只能用这种方法了
#include
using namespace std;

int main(){
char a[4] = {'a','b','c','d'};//定义字符数组
int i , j , k , l , cnt = 0;//定义循环变量及当前为第cnt个组合
for(i = 0 ; i < 4 ; i++){//a的所有可能位置
for(j = 0 ; j < 4 ; j++){//b的所有可能位置
if(j != i){//如果b的当前位置a没有占去,则b可以在当期位置
for(k = 0 ; k < 4 ; k++){//c的所有可能位置
if(k != i && k != j){//如果c的当前位置a、b没有占去,则c可以在当期位置
for(l = 0 ; l < 4 ; l++){//d的所有可能位置
//如果d的当前位置a、b、c没有占去,则d可以在当期位置
if(l != k && l != j && l != i){
cnt++ ;//统计当前为第几个
//输出当前的序列
printf("第 %2d 个为: %c %c %c %c
" ,cnt, a[i],a[j],a[k],a[l]);
}
}
}
}
}
}
}
return 0 ;
}

#include<stdio.h>
#include<string.h>char a[20];
int lenth;
long count=0;void main()
{void move(int,int);
int i,j=0;
printf("input:");gets(a);
lenth=strlen(a);
for(i=0;i<lenth;i++)
move(j,i);//move a[i] to the front of a[j];
printf("\ntotal=%d\n",count);
}
void move(int here,int which)//move a[which] to the front of a[here];
{char b[20];
char temp;
int m,n;
if(here<lenth-1)
{if(here!=which)
{for(m=0;m<lenth;m++)
b[m]=a[m];
temp=a[which];
for(m=which;m>here;m--)
a[m]=a[m-1];
a[m]=temp;
}
for(n=here+1;n<lenth;n++)
move(here+1,n);
if(here!=which)
for(m=0;m<lenth;m++)
a[m]=b[m];
}
else
{printf("%-10s",a);
count++;}
} 运行程序时输入ABCD即可本程序可以输入任意字符序列。如12345等。

#include <stdio.h>

int main(void)
{
int i,j,k,l;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(j!=i)
for(k=0;k<4;k++)
if(k!=i && k!=j)
for(l=0;l<4;l++)
if(l!=k && l!=i && l!=j)
printf("%c%c%c%c\n",i+'A',j+'A',k+'A',l+'A');
return 0;
}


c语言 编写一个程序,功能是从键盘输入1—12中的某一个数字,由电脑打印...
\/\/希望我的回答对你的学习有帮助!!!#include<stdio.h>int main(){int month;scanf("%d",&month);switch(month){case 1:printf("January\\n");break;case 2:printf("February\\n");break;case 3:printf("March\\n");break;case 4:printf("April\\n");break;case 5:printf("May\\n");...

c语言编程题目 输入一个小写字母后,打印如下图形。例如:输入d则打印...
include "stdio.h"main(){ char c;int i,j,k,t;printf("\\nEnter char:");scanf("%c",&c);t=c-96;printf("\\n");if(t>=2){ for(i=0;i<t;i++){ for(j=t-i;j>0;j--)printf(" ");for( k=0;k

用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据...
\/*用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次打印出来 *\/ include <stdio.h> define M 5 define N 5 void Fun(int iaArray[][N]);void main(){ int iaArray[M][N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19...

如何在c语言中打印科学计数法?
C语言的应用:1、操作系统:C语言在操作系统开发中发挥了关键作用。例如,Linux操作系统的内核就是用C语言编写的。此外,Windows系统的底层代码也大量使用了C语言。这些系统通常需要处理复杂的任务,如内存管理、进程调度和文件系统操作等,C语言的灵活性和效率使得它成为这些任务的首选语言。2、嵌入式系统:...

求C语言编程实现由键盘输入3个学生的信息(包括学号、姓名、成绩)程序运 ...
include<stdio.h> struct Stu { int num;char name[20];float score;};void Input(struct Stu s[]){ int i;for(i=0;i<3;++i)scanf("%d%s%f",&s[i].num,s[i].name,&s[i].score);} void Sort(struct Stu *a[]){ int i,j;struct Stu *t,**p;for(i=0;i<2;++i){ p...

1-25做成5*5的二维数组 并打印出右上半三角 C语言编程
可运行的:include<stdio.h> int main(){ int i,j;int a[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};int b[5][5];for(i=0;i<5;i++)for(j=0;j<5;j++){ if(i>=j) b[j][i]=a[j][i];else b[j][i]=0;} ...

求助求助!!哪位大神能教我一下,c语言编程,输入一个整数n,检查n中重复...
include "stdio.h"int main(){ int n,i,a[10]={0};scanf("%d",&n);while(n>0){a[n%10]++;n\/=10;} for(i=0;i<10;i++)if(a[i])printf("%d: %d\\n",i,a[i]);return 0;}

c语言编程 键入一个字符串 若是‘abc ’则打印“输入正确” ,否则打印...
main{char a="abc";char b;scanf("%c",&b);if (a=b)print("输入正确");elseprint("输入错误");}

【C语言编程】由键盘输入年号和月份,判断该年是否为闰年,并根据给出的...
include <stdio.h> int main(){ int year,month,day;printf("请输入年份与月份:");scanf("%d",&year);scanf("%d",&month);if(year%4==0){ if(year%100==0){ if(year%400==0)printf("%d是闰年\\n",year);else printf("%d不是闰年\\n",year);} else printf("%d是闰年\\n",...

c语言编程:圆的半径为1~100,要求打印圆面积小于100时的圆半径和圆面 ...
include <stdio.h> int main(){ float s;int i;for(i=1; ; i++){ s=3.1415926*i*i;if(s>=100)break;printf("r=%d, s=%.4f\\n",i,s);};return 0;}

官渡区19487792389: 用C语言编程:打印由字符A、B、C、D组成的所有全排 -
俞万吸收: #include <stdio.h> void main() { int i,j,m,n; char a[4] = {'A','B','C','D'}; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { if (i == j) continue; for (m = 0; m < 4; ++m) { if ((i == m)||(j == m)) continue; for (n = 0; n < 4; ++n) { if ((i == n)||(j == n)||(m == n)) continue; ...

官渡区19487792389: c 语言编程 从大到小打印3个整数a,b,c -
俞万吸收: main() {int i,j,a[2],temp; for(i=0;iscanf("%d",&a[i]); for(i=0;ifor(j=0;jif(a[j] {temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } for(i=0;iprintf("%d",a[i]); }

官渡区19487792389: C语言 有三个数a,b,c要求按大小顺序把它们打印出来. 用流程图表示怎么画? 帮忙画一下 -
俞万吸收: 可以帮你写程序,但是写流程图这太难了...#include<stdio.h> void main() {int a,b,c,t;printf("请依次输入a,b,c:");scanf("%d%d%d",&a,&b,&c);if(a>b) {t=a;a=b;b=t;}if(a>c) {t=a;a=c;c=t;}if(b>c) {t=b;b=c;c=t;}printf("按从小到大的顺序输出a=%d,b=%d,c=%d\n",a,b,c); }

官渡区19487792389: c语言编程,打印如下字母组成的阵列 A B B C C C D D D D E E -
俞万吸收: 你好!include "stdio.h" void main(){ printf(" A "); printf(" B B "); printf(" C C C "); printf(" D D D D "); printf(" E E E"); } 仅代表个人观点,不喜勿喷,谢谢.

官渡区19487792389: 用c语言编写程序,输入a,b,c三个数,打印出最大者. -
俞万吸收: if(a>=c) t=a; printf("最大数是%d",t); else t=c; printf("最大数是%d",t); 你这里if后面有两个语句,所以要有大括号才行

官渡区19487792389: 用C语言编程:打印由字符A、B、C、D组成的所有全排列.
俞万吸收: #include<stdio.h> #include<string.h> char a[20]; int lenth; long count=0; void main() {void move(int,int); int i,j=0; printf("input:");gets(a); lenth=strlen(a); for(i=0;i<lenth;i++) move(j,i);//move a[i] to the front of a[j]; printf("\ntotal=%d\n",count); }void ...

官渡区19487792389: C语言 给出字符串(abccd),找出字符'c'的下标、位置并打印. -
俞万吸收: #include <stdio.h> int main() { char data[]="abccd"; int i; for(i=0;i<5;i++) { if(data[i]=='c') printf("c的下标:%d\n",i); } return 0; }

官渡区19487792389: C语言编辑程序,输入a,b,c三个数,打印最大者 -
俞万吸收: #include <stdio.h>main( ){ int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if (a>b&&a>c)max=a;else if (b>a&&b>c)max=b;else (c>a&&c>b)//此处不需要if ,我只是帮看了一下,分还是给楼上兄弟吧max=c;printf("max=%d\n",max);}

官渡区19487792389: 用C语言,输出 a,b,c -
俞万吸收: #include<stdio> main() { printf("a,b,c\n"); }

官渡区19487792389: 关于c语言的编程问题 设有整数A,B,C,编写程序,打印三个数中的最小者.要求 1 编写2个程序实 -
俞万吸收: 一,int compare(int A,int B,int C){ int num=A<B?A:B; return num<C?num:C } 二,int compare(int A,int B,int C){ int num=A; if(num<B) num=B; if(num<C) num=C; return num; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网