×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#38942: 可以使用scanf & getchars()來完成嗎?
yupingw95
(maryyy)
學校 : 不指定學校
編號 : 259784
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.113.136.221]
最後登入時間 :
2024-01-08 10:57:45
d392.
读取练习——强大的加法!
--
liouzhou_101
| From: [1.169.237.6] | 發表日期 : 2024-01-05 23:18
#include <stdio.h>
int main(){
long int sum=0;
int num;
char c;
while(1){
int result = scanf("%d", &num);
if (result == 1){
sum += num;
}
c = getchar();
if (c == '\n'){
printf("%ld\n", sum);
sum = 0;
}
else if (c == EOF){
printf("%ld\n", sum);
break;
}
}
}
在我的程式碼中我發現一個bug,那就是如果第一行的最後一個數字後面有空白格,那麼c就不會是\n,所以sum會一直加到下一行
但我想不到如果用scanf跟getchar是否還有別種做法?
或是其他做法也歡迎提示我,感謝QQ
#38947: Re: 可以使用scanf & getchars()來完成嗎?
cges30901
(cges30901)
學校 : 不指定學校
編號 : 30877
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
d392.
读取练习——强大的加法!
--
liouzhou_101
| From: [101.137.135.221] | 發表日期 : 2024-01-06 10:59
我的做法是先用fgets讀取一整行,再用sscanf轉為數字
ZeroJudge Forum