-
很多問題! 首先,函式 pow(double x, double y) 用錯了,函式原型是 double pow(double x, double y),返回了 xy 的值,一定不能用它來處理整數資料,強制轉換的時候會出現很大的問題!
其次,計算數字總和的方法不正確,無法處理只有乙個數字的整數。
#include
#include
int main()
int num, t, b, sum = 0;
scanf("%ld",&num);
t = num;
b = 0;
while (t > 0)
b++;t /= 10;
while (num > 0)
sum += num % 10;
num /= 10;
printf("這是乙個 %d 位數字", b);
printf("%d", sum);
system("pause");
return 0;
-
我到處重寫你,樓主寫得太亂了,效率太差了。
#include
void main(){
int num=0;
scanf("%d",&num);
int sum=0;
int p=num;
while(p!=0){
sum+=p%10;
p/=10;
printf("數字是:%d,他的頭的總和是:%d",num,sum);
-
while((num/(pow(10,i)))10)i++;b=(i+1);
這句話有乙個邏輯錯誤。
例如,如果輸入 5 而不進入迴圈,則由於 i 的初始值為 1,則 b=i+1 變為 2。
相反。 while((num/(pow(10,i)))=1)i++;b=i;
-
sum+=c;這個分號是錯的,改成英文格式是對的,呵呵。。
-
#include
int main()
int n, ans = 0;
scanf("%d", n);
printf("反向輸出:")
while(n !=0)
int t;
t = n % 10;
n /=10;
ans++;
printf("%d ",t);
puts(""
printf("位數為:%d", ans);位數。
return 0;
-
#include
int main()
int n, ans = 0;
scanf("%d", n);
printf("反向輸出:")
while(n !=0)
int t;
t = n % 10;
n /=10;
ans++;
printf("%d ",t);
puts(""
printf("位數為:%d", ans);位數。
return 0;
-
假設三位數是 a,它的十位數是 b
則 b = a 10%10;
解釋乙個 10 來獲得最後兩位數字,然後解釋 %10 來獲得第二個數字。
-
for 迴圈更改 n 的值,然後使用 n 來查詢每個數字是沒有意義的。
-
假設三位數是知道 a 的橋,它的十位數字是 b
統治。 b = a/10%10;
解釋。 10 獲得銷售額的最後兩位數字,大廳獲得 %10 的第二名。
從最基本的流程開始,從最基本的語句開始。 在學習的過程中,要特別注意每個功能的作用,多想想這個功能可以怎麼用,還有什麼效果可以發揮**! 學會利用它! >>>More
在 VisualStudio 2013 中編寫和除錯 C 語言程式的步驟: 1.開啟 [檔案] - 新建 - 專案以開啟“新建專案”視窗。2. 在[模板]、[名稱]、[位置]和[解決方案名稱]中選擇[Visual C++] Win32控制台應用程式,可以根據需要填寫。 >>>More