求任意两个集合的笛卡尔积(重点是:集合中的元素为char)
底下是元素为int的,这个可以改为char的么?(我自己做了好久都没对)
#include <stdio.h>
# define m 3
# define n 2
void main()
{
int i,j,a[m],b[n];
for (i=0;i<m;i++)
scanf("%d",&a[i]);
for (j=0;j<n;j++)
scanf("%d",&b[j]);
printf("集合a:\n");
for (i=0;i<m;i++) printf("%d\t",a[i]);
printf("\n集合b:\n");
for (i=0;i<n;i++) printf("%d\t",b[i]);
printf("\n{");
for (i=0;i<m;i++)
for (j=0;j<n;j++)
printf("<%d,%d> ",a[i],b[j]);
printf("}\n");
}
9 个解决方案
#1
大家是去午休了么。。。没人来啊?
#2
需要我解释一下笛卡尔积吗??
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}
#3
应该没有原则问题。
只是void main( )不规范,ANSI C要求是int main(void)
只是void main( )不规范,ANSI C要求是int main(void)
#4
数组是int类型的,不能存储a,b,c之类的字符,改为char数组吧
#5
scanf,printf两函数中用%c格式
#6
问的就是这啊。。怎么改呢??我不是很懂,能详细讲一下吗??
#7
void main()不规范啊 书上是这样写的。。。
#8
#include <stdio.h>
#define m 3
#define n 2
int main() {
int i,j;
char a[m],b[n];
for (i=0;i<m;i++) scanf("%c",&a[i]);
getchar();//吃掉\n
for (j=0;j<n;j++) scanf("%c",&b[j]);
printf("集合a:\n");
for (i=0;i<m;i++) printf("%c\t",a[i]);
printf("\n集合b:\n");
for (j=0;j<n;j++) printf("%c\t",b[j]);
printf("\n{");
for (i=0;i<m;i++)
for (j=0;j<n;j++)
printf("<%c,%c> ",a[i],b[j]);
printf("}\n");
return 0;
}
//ABC
//12
//集合a:
//A B C
//集合b:
//1 2
//{<A,1> <A,2> <B,1> <B,2> <C,1> <C,2> }
//
#9
赵老师。。太感谢了!!
#1
大家是去午休了么。。。没人来啊?
#2
需要我解释一下笛卡尔积吗??
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}
#3
应该没有原则问题。
只是void main( )不规范,ANSI C要求是int main(void)
只是void main( )不规范,ANSI C要求是int main(void)
#4
数组是int类型的,不能存储a,b,c之类的字符,改为char数组吧
#5
scanf,printf两函数中用%c格式
#6
问的就是这啊。。怎么改呢??我不是很懂,能详细讲一下吗??
#7
void main()不规范啊 书上是这样写的。。。
#8
#include <stdio.h>
#define m 3
#define n 2
int main() {
int i,j;
char a[m],b[n];
for (i=0;i<m;i++) scanf("%c",&a[i]);
getchar();//吃掉\n
for (j=0;j<n;j++) scanf("%c",&b[j]);
printf("集合a:\n");
for (i=0;i<m;i++) printf("%c\t",a[i]);
printf("\n集合b:\n");
for (j=0;j<n;j++) printf("%c\t",b[j]);
printf("\n{");
for (i=0;i<m;i++)
for (j=0;j<n;j++)
printf("<%c,%c> ",a[i],b[j]);
printf("}\n");
return 0;
}
//ABC
//12
//集合a:
//A B C
//集合b:
//1 2
//{<A,1> <A,2> <B,1> <B,2> <C,1> <C,2> }
//
#9
赵老师。。太感谢了!!