永发信息网

编程题一个,请高手解答一下。

答案:3  悬赏:50  手机版
解决时间 2021-05-13 17:04
  • 提问者网友:佞臣
  • 2021-05-13 01:58
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个整数 in,从高位开始逐位分割并输出它的各位数字。
输出使用语句:printf("%-2d", digit);
输入输出示例:括号内为说明
输入
3 (repeat=3)
23456 (in=23456)
-600 (in=-600)
8 (in=8)
输出
2 3 4 5 6
6 0 0
8




#include <stdio.h>
int main(void)
{
int digit, in, power, temp;
int repeat, ri;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &in);

printf("\n");
}
}
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-05-13 03:01
#include<stdio.h>
#include<stdlib.h>
int main()
{
int digit,in,power,temp;
int repeat,ri;
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++)
{
scanf("%d",&in);
if (in<0) in*=-1;
temp=in;
power=0;digit=1;
while (temp>0) temp/=10,power++;
temp=1;
while (power>0) temp*=10,power--;
temp/=10;
while (temp>0) digit=in/temp,in%=temp,temp/=10,printf("%-2d",digit);
printf("\n");
}
system("pause");
return(0);


}
全部回答
  • 1楼网友:人间朝暮
  • 2021-05-13 05:06
#include <stdio.h> int main(void) { int digit, in, power, temp; int repeat, ri; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%d", &in); temp =in; power=1; while(temp) { power*=10; temp/=10; } while(in) { power/=10; digit=in/power; in=in%power; printf("%-2d", digit); } printf("\n"); } }
  • 2楼网友:动情书生
  • 2021-05-13 04:34

while(temp)

{

if(temp>=10)

{

digit=in/10;

temp=in%10;

printf("%-2d", digit);

}

else

{

digit=temp;

printf("%-2d", digit);

temp=0;

}

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯