大佬们,求请教这道c语言题目怎么写?

我的思路是这样的,但不知道哪里出问题了。求大佬给个指点(小白目前只学到循环语句,后面函数数组什么的都还没接触过)... 我的思路是这样的,但不知道哪里出问题了。求大佬给个指点(小白目前只学到循环语句,后面函数数组什么的都还没接触过) 展开
 我来答
cdyzxy
2019-10-24 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3699万
展开全部

#include<stdio.h>

void main() { int x,n,i,k,m;

scanf("%d",&n); printf("\n");

for ( i=0;i<n;i++ ) {

scanf("%d",&x); k=1; while ( x/k!=0 ) k*=10; if ( k>1 ) k/=10; 

do { m=x/k; printf("%d ",m); x-=m*k; k/=10; } while ( x!=0 ); printf("\n\n");

}

}

思路是假定输入12453,则首先用1去除这个数,发现结果不等于0,于是再用10去除,用100去除,每次除数乘以10,直到结果等于0,这时会得到100000,这个数除以10得到10000,正好是12453的位数相同

输出时,12453/10000=1,输出,然后12453-1*10000=2453,然后将除数除以10, 于是输出2453/1000=2, ..., 直到x被减到0

听不清啊
高粉答主

2019-10-24 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

你的程序最多只能处理一个数,程序可是要求要处理多个数的哦!重写的程序和运行结果如下

#include <stdio.h>

int main()

{ int t,x,k;

  scanf("%d",&t);

  while(t--)

  { scanf("%d",&x);

    k=9;

    while(k<x)

      k=k*10+9;

    k=k/10+1;

    do

    { printf("%d ",x/k);

      x=x%k;

      k/=10;

    }

    while(x);

    printf("\n");

  }

  return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式