读书人

一个c程序求解释,该怎么解决

发布时间: 2012-04-15 18:39:21 作者: rapoo

一个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]);
[解决办法]

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 ;} 

读书人网 >C语言

热点推荐