请列表写过程并且解答


#include<cstdio>
int main(){
  int x,y,z,jk,j,g,e;
  int array[21];
  x = 3465;
  y=264;
  jk=20;
  for(j=1; j<=20; j++){
    array[j]=0;
  }
  while(y != 0){
    z = y%10;
    y /= 10;
      while(z != 0){
        g = x;
          for(e=jk; e>=1; e--){
            g += array[e];
            array[e] = g%10;g /= 10;
          }
          z--;
        }
        jk--;
      }
      j=1;
    while(array[j]==0)  j++; 
    for(jk=j; jk<=20; jk++){
     printf("%d ",array[jk]);
    }
  return 0;
}

请列表写过程并解答,谢谢


# include <stdio.h>
//#include <cstdio>
int main(){
    int x,y,z,jk,j,g,e;  // 初始化变量
    int array[21];   // 定义长度为21的数组
    x = 3465;  // 变量赋值
    y=264;
    jk=20;
    for(j=1; j<=20; j++){
        array[j]=0;    // 将数组array的元素都初始化为0,即使j只是120但是array默认初始化元素为0
    }
    while(y != 0){

        z = y%10;   // z为y数值的分离数,462三次循环
        y /= 10;   // 三次循环y分别为2620
        while(z != 0){
            g = x;       // 12次循环,z都为3465
            for(e=jk; e>=1; e--){
                g += array[e];   //230次循环第一次为3465,第二次·为346第三次为34第三次为3,
                // 第21次为347022次为35323次为3924次为6.。。。可以printf("g:%d\n", g)打印出来看

                array[e] = g%10;  // 将array的第e个元素赋值为g%10
                g /= 10;
            }
            z--;
        }
        jk--;
    }
    j=1;
    while(array[j]==0)  j++;
    for(jk=j; jk<=20; jk++){
        printf("%d ",array[jk]);
    }
    return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632