题目描述
输入20个整数,输出其中能被数组中其它元素整除的那些数组元素
样例输入
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
样例输出
4
6
8
9
10
12
14
15
16
18
20
21
代码如下:
这是有bug的代码:
希望读者参考这个逻辑修改bug
#include<stdio.h>
#define N 20
int main(){
int a[N]={0};
int x=0;
int i=0;
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
for(x=a[0];x<=a[N-1];x++){
for(i=0;i<N;i++){
if(x%a[i]==0&&x!=a[i]){
printf("%3d",x);
}
}
}
return 0;
}
正确代码:
无bug代码:
#include<stdio.h>
#define N 20
int main()
{
int i,k,j,a[N];
k=0;
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
for(i=0;i<N;i++) {
k=i;
a[k]=a[i];
for(j=0;j<N;j++){
if(k==j){
continue;
}
else {
if(a[k]%a[j]==0)
{
printf("%d\n",a[k]);
break;
}
}
}
}
return 0;
}