分析能力测试:这个程序那里没有对

来源:百度文库 编辑:高考问答 时间:2024/04/28 21:39:45
#include<stdio.h>
#define N 8

main()
{
int x,y,z,t;
int a[N];
printf("\n 输入一个小于8为的数:");
scanf("\n %d",&y);
x=0;
t=0;
do
{
a[x]=y%10;
y=y/10;
t++;
if(y==0)
break;
printf("%d",a[x]);
x++;
}while(x<N);
printf("\n");
}

这个只是程序的一部分,但是这里输出时有问题。请高手解答一下

错误在于:
if(y==0)
break;
放在输出语句之前是不对的,直接导致最后一位无法输出,以下是修改以后的程序,运行通过:
#include<stdio.h>
#define N 8

main()
{
int x,y,z,t;
int a[N];
printf("\n 入一个小于8的数:");
scanf("\n %d",&y);
x=0;
t=0;
do
{
a[x]=y%10;
y=y/10;
t++;

printf("%d",a[x]);
x++;

if(y==0)
break;
}while(x<N);
printf("\n");
}

你又不说具体出了什么问题。