已知有一集合A={a b c d e f },要求编写程序打印出A的所有非空子集(含A本身)c语言
2012-10-13
展开全部
#include "stdio.h"
int main(int argc, char* argv[])
{
char A[6]={'a','b','c','d','e'};
for(int i=0;i<5;i++)
printf("%c\t",A[i]);
printf("\n");
for(i=0;i<5;i++)
{for(int j=i+1;j<5;j++)
if(j<5)
printf("%c%c\t",A[i],A[j]);
printf("\n");
}
for(i=0;i<5;i++)
for(int j=(i+1);j<5;j++)
{for(int k=(j+1);k<5;k++)
printf("%c%c%c\t",A[i],A[j],A[k]);
printf("\n");
}
for(i=0;i<5;i++)
printf("%c%c%c%c ",A[(i+1)%5],A[(i+2)%5],A[(i+3)%5],A[(i+4)%5]);
printf("\n");
printf("%s",A);
}
这个程序是只有5个元素的...刚写了我好久....如果是要六个的话...你仿照我的再多加一个就行了!!方法是笨了点...但是能实现这个题目!!
int main(int argc, char* argv[])
{
char A[6]={'a','b','c','d','e'};
for(int i=0;i<5;i++)
printf("%c\t",A[i]);
printf("\n");
for(i=0;i<5;i++)
{for(int j=i+1;j<5;j++)
if(j<5)
printf("%c%c\t",A[i],A[j]);
printf("\n");
}
for(i=0;i<5;i++)
for(int j=(i+1);j<5;j++)
{for(int k=(j+1);k<5;k++)
printf("%c%c%c\t",A[i],A[j],A[k]);
printf("\n");
}
for(i=0;i<5;i++)
printf("%c%c%c%c ",A[(i+1)%5],A[(i+2)%5],A[(i+3)%5],A[(i+4)%5]);
printf("\n");
printf("%s",A);
}
这个程序是只有5个元素的...刚写了我好久....如果是要六个的话...你仿照我的再多加一个就行了!!方法是笨了点...但是能实现这个题目!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询