蒻姬★彡 2021-09-18 12:01 采纳率: 100%
浏览 41
已结题

程序while第一个循环执行不了怎么回事

#include <stdio.h>
int main(){
int a,c,e,h,x,v,z;
int g = 0;
int b = 1;
int d;
int y = 1;
int f = 10;
scanf("%d",&a);// 个数
while(a >= b){
scanf("%d",&c);
if (c == 0){
printf("0");
}
else{
for (d=1;d<=c;d*=10) {
//e = c / d % f;
g+=1;
//printf("%d ",g);
}
}
h = g;
g = 0;
for (x = 1;x<h;x++){
y = y * 10;
//printf("%d ",y);
}
for (z = 1;z <= h;y /= 10){
v = c / y % f;
printf("%d ",v);
}

    b+=1;
    //printf("%d\n",b);
}
return 0;

}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2021-09-18 12:55
    关注

    修改如下,供参考:

    #include <stdio.h>
    int main() {
        int a, c, e, h, x, v, z;
        int g = 0;
        int b = 1;
        int d;
        int y = 1;
        int f = 10;
        scanf("%d", &a);// 个数
        while (a >= b) {
            scanf("%d", &c);
            if (c == 0) {
                printf("0");
            }
            else {
                for (d = 1; d <= c; d *= 10) {
                    //e = c / d % f;
                    g += 1;
                    //printf("%d ",g);
                }
            }
            h = g;
            //g = 0;      //修改
            for (x = 1; x < h; x++) {
                y = y * 10;
                //printf("%d ",y);
            }
            for (z = 1; z <= h; y /= 10,z++) {  //修改
                v = c / y % f;
                printf("%d ", v);
            }
            g = 0;     //修改
            y = 1;      //修改 
            b += 1;
            //printf("%d\n",b);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月26日
  • 已采纳回答 9月18日
  • 创建了问题 9月18日