1、编写程序,它能读入构成集合A,B的两组非零整数x1,x2 ,……,xm ,y1 ,y2 ,……,yn 。计算A与B的交集A∩B,再以由小到大的顺序输出A∩B中的元素,A∩B为空时无输出。
第一行输入集合的长度,第二行输入集合A中的数字,每个数字以空格隔开,第三行输入集合B中的数字,每个数字以空格隔开。
示例1:
输入:
4 5
1 3 5 7
5 3 1 9 10
输出:
1 3 5
(我剩把交集内的元素排序不太懂,就是单独写一个还会,把它和前面的问题连起来就写不出了)
2、写一个函数,输入一串数字,长度不超过100,要求输出这串数字字符,但每两个数字间空一个空格。
如输入1990,应输出“19 90”
(这个问题我只会一个数字隔一个空格,两个数字隔一个空格属实没想到)
3、有3个学生的信息,放在结构体数组中,要求输出全部学生的信息。
[输入用例]
10101
Li Lin
M
18
10102
Zhang Fun
M
19
10104
Wang Min
F
20
注:学生姓名中可能包含空格。
[输出用例]
No. Name sex age
10101 Li Lin M 18
10102 Zhang Fun M 19
10104 Wang Min F 20
[输入用例]
21001
张三
M
20
21002
李四
F
22
21003
王五
M
19
[输出用例]
No. Name sex age
21001 张三 M 20
21002 李四 F 22
21003 王五 M 19
注:输出的数据中间有一个空格
C语言的一些问题(关于数组、函数、结构体什么的)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-天际的海浪 2021-12-27 03:26关注
#include<stdio.h> #include<math.h> void main() { int n,m,i,j,k=0; scanf("%d%d", &n, &m); int a[n],b[m],c[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<m;i++) scanf("%d",&b[i]); for(i=0;i<n;i++){ for(j=0;j<m;j++){ if(b[j] == a[i]){ c[k++] = a[i]; break; } } } for(i=0;i<k-1;i++) for(j=0;j<k-i-1;j++) if(c[j] > c[j+1]) { int t = c[j]; c[j] = c[j+1]; c[j+1] = t; } for(i=0;i<k;i++) printf("%d ", c[i]); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 6无用 1
悬赏问题
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来