一个c程序求解释,该怎么解决
一个c程序求解释
#include<stdio.h>
void main()
{ int a[10],b[10],m=0,n=0,i,j,data;
for(i=0;i<10;i++)
scanf("%d",a[i]);
for(i=0;i<10;i++)
{m=a[i];
for(j=0;j<=2;j++)
{if(m%10==0);
else break;
m=m/10;
if(m==2)
{b[n]=a[i];n++;}
}
}
n--;
for(i=0;i<n;n++)
for(j=i+1;j<=n;j++)
if(b[i]>=b[j])
{data=b[i];
b[j]=b[i];
b[i]=data;
}
for(i=0;i<=n;i++)
{printf("%d",b[i]);}
}
不知道为什么运行不了,求解释
------解决方案--------------------
读数据 这一句:
scanf("%d", a[i]); 应该是这样的吧 scanf("%d", &a[i]);
------解决方案--------------------
#include<stdio.h>
void main()
{ int a[10],b[10],m=0,n=0,i,j,data;
for(i=0;i<10;i++)
scanf("%d",a[i]);
for(i=0;i<10;i++)
{m=a[i];
for(j=0;j<=2;j++)
{if(m%10==0);
else break;
m=m/10;
if(m==2)
{b[n]=a[i];n++;}
}
}
n--;
for(i=0;i<n;n++)
for(j=i+1;j<=n;j++)
if(b[i]>=b[j])
{data=b[i];
b[j]=b[i];
b[i]=data;
}
for(i=0;i<=n;i++)
{printf("%d",b[i]);}
}
不知道为什么运行不了,求解释
------解决方案--------------------
读数据 这一句:
scanf("%d", a[i]); 应该是这样的吧 scanf("%d", &a[i]);
------解决方案--------------------
- C/C++ code
#include<stdio.h> void main(){ int a[10],b[10],m=0,n=0,i,j,data; /*对数组进行赋值*/ for(i=0;i<5;i++) scanf("%d",&a[i]); /*判断数组中符合条件的值*/ for(i=0;i<5;i++){ m=a[i]; while(m != 0){ if(m%2 == 0) break; else m = m / 10; } if(m==0){ b[n]=a[i]; n++; } } n--; /*赋值后直接输出数组b的值*/ for(i=0;i<=n;i++){ printf("%d \t",b[i]); } /*对数组b进行排序*/ for(i=0;i<n;i++){ for(j=i+1;j<=n;j++) if(b[i]>=b[j]){ data=b[i]; b[i]=b[j]; b[j]=data; } } printf("\nThe array of sorting is :\n"); /*输出排序后的数组b*/ for(i=0;i<=n;i++){ printf("%d \t",b[i]); } getch(); return ; }