1.源代码
#include <stdio.h>
int main()
{ int n,i,j,s1[10]={10,21,34,12,15,8,17,20,23,30},s2[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&s2[i]);
for(i=0;i<10;i++){
for(j=0;j<n;j++){
if(s1[i]==s2[j]){
printf("%5d",s1[i]);
break;
}
}
}
return 0;
}
2.代码思路
- 定义一个主函数
main
,它首先声明两个长度为10的整数数组s1
和s2
,一个整数变量n
,和三个循环控制变量i
,j
。然后,使用scanf
函数从标准输入读取一个整数n
,表示数组s2
的实际长度,以及n
个整数,作为数组s2
的元素。数组s1
的元素已经在声明时初始化为{10,21,34,12,15,8,17,20,23,30}
。 - 接下来,使用一个
for
循环,遍历数组s1
的所有元素,对于每个元素,做以下操作:
- 使用一个
for
循环,遍历数组s2
的所有元素,对于每个元素,做以下操作:
- 如果数组
s1
和s2
的当前元素相等,说明找到了一个相同的元素,使用printf
函数将它以5个字符的宽度输出到标准输出,并跳出内层循环。
- 最后,返回0表示程序正常结束。