#include <stdio.h>
#include <stdlib.h>
#define TEN 10
int main()
{
int number = 0;
int digit = 0;
int last_digit = 0;
int digit_sum = 0;
int i = 0;
while (i == 0)
{
printf("Please Enter A Positive Number! \n"); //explaining
scanf("%d",&number);
if (number > 0)
{
i++;
}
}
while (number > 0)
{
digit = number % TEN; //breaking number into digits
number /= TEN;
if (last_digit != digit) //comparing digits
{
last_digit = digit;
digit_sum += digit;
}
}
printf("The Sum Of The Digits Is : %d",digit_sum);
return 0;
代碼將劃分成數位並檢查是否有被欺騙的數字,萬一有,只有其中一人將計算例如:3211 3 + 2 + 1,但我的問題是,該代碼將不會像31211數字工作我感謝任何形式的幫助。
一個可能的解決方案將輸入作爲字符串讀取,對其進行排序(例如,「31211」變爲「11123」),並刪除連續的重複項(所以字符串「11123」變爲「123」),然後執行求和。 –
歡迎來到SO。請參觀參觀,瞭解要問什麼問題以及如何。這裏沒有問題。此外,請在此處張貼時請正確縮進代碼。 –
你能給我一個例子嗎? – SaKaMoToSaN15