到底怎樣才能把我輸入的數字拆開輸出呢,自閉了!
求大佬詳細指導,救救孩子!
問題描述:
已知一個正整數n,n的范圍是1—999999999。你的任務是把這個整數分解為單個數字,然后從左至右依次列印出每一個數字。例如將整數“12345”分解,得到“1 2 3 4 5”。
輸入與輸出要求:
輸入包括一個正整數,即待拆分的整數n,1<=n<=999999999。輸出整數的拆分結果,相鄰兩個數字之間有一個空格,最后一個數字后是換行符。例如12345的拆分結果為“1 2 3 4 5”
程式運行效果:
Sample 1:
輸入:12345
輸出:1 2 3 4 5
Sample 2:
輸入:1
輸出:1
uj5u.com熱心網友回復:
#include <stdio.h>
#include <string.h>
int main()
{
char num[10];
memset(num, -1, sizeof(char) * 10);
scanf("%s", num);
for (int i = 0; i < 10; i++)
{
if (num[i] != -1)
printf("%c ", num[i]);
}
printf("\n");
return 0;
}
供參考
uj5u.com熱心網友回復:
這個程式,可以這么做:
for (int i = 0; i < strlen(num); i++)
uj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print_digit(unsigned long num);
int main(void)
{
unsigned long num;
scanf("%lu", &num);
print_digit(num);
putchar(10);
return 0;
}
void print_digit(unsigned long num)
{
if (num == 0)
return;
print_digit(num / 10);
printf("%lu ", num % 10);
}
供參考~
可以考慮使用遞回函式,如上~
uj5u.com熱心網友回復:
謝謝
uj5u.com熱心網友回復:
謝謝各位啦!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/194688.html
標籤:C語言
上一篇:Parasoft9.6安裝問題
