笛卡尔乘积的运算代码
#include
struct student /*定义一个结构体存储数据*/
{
int st; /*存储每个集合的元素的个数*/
char a[10][6]; /*存放集合的元素*/
}b[5]; /*定义一个结构体数组来表示集合*/
int n; /*标志集合的个数*/
void main()
{void print(); /*笛卡尔乘积函数的说明*/
int i,j;
for(j=0;j<5;j++) /*ST初始化*/
b[j].st=0;
n=0;
printf(" 下面是1~5个集合的笛卡尔乘积\n");
for(j=0;;j++) /*循环结构用于集合的输入*/
{
printf("是否输入第%d个集合(y/n):",j+1);
if(getchar()=='n') /*判断用户是否接续输入*/
break;
++n;
printf("开始输入第%d个集合元素\n",j+1);
for(i=0;;i++) /*循环结果用于集合元素的输入*/
{
printf("请输入%d个元素:",i+1);
scanf("%s",b[j].a+i);
++b[j].st;
printf("是否继续输入元素(y/n):");getchar();
if(getchar()=='n') /*判断用户是否接续输入*/
break;
}
putchar('\n'); /*回车换行*/
getchar();
}
printf("下面为笛卡尔乘积的结果\n");
print(); /*笛卡尔乘积函数调用*/
}
void print() /*笛卡尔乘积函数定义*/
{int i,j,l1,l2,l3,l4,l5; /*定义整形*/
for(l1=0;l1\n",*(b[0].a+l1)); /* 一个集合的输出*/
continue;}
/*提前结束本次循环*/
for(l2=0;l2\n",*(b[0].a+l1),*(b[1].a+l2));/*两个集合的输出*/
continue ;} /*提前结束本次循环*/
for(l3=0;l3\n",*(b[0].a+l1),*(b[1].a+l2),*(b[2].a+l3)) ; /*三个集合的输出*/
continue;} /*提前结束本次循环*/
for(l4=0;l4\n",*(b[0].a+l1),*(b[1].a+l2),*(b[2].a+l3),*(b[3].a+l4)) ; /*四个集合的输出*/
continue;} /*提前结束本次循环*/
if(n==5) /*判断是否仅有五个集合*/
for(l4=0;l5\n",*(b[0].a+l1),*(b[1].a+l2),*(b[2].a+l3),*(b[3].a+l4),*(b[4].a+l5) );/*五个集合的输出*/
}
}
}
} }
Dos下的结果
开始阶段:
运行阶段:
结果:
本文档为【笛卡尔乘积的运算代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。