我想撰寫一個程式將天轉換為年、周和天。我寫了這個程式,但是有一個條件,如果用戶輸入一個字符,輸出應該是Only positive numeric is allowed.但是,當我輸入一個字符時,它會選擇那個的 ASCII 值。我無法理解要設定什么條件。
#include<stdio.h>
int main(){
int days, year, weeks;
printf("Enter days: ");
scanf("%d", &days);
if(days)
{
year = days/365;
printf("\nYears: %d\n", year);
weeks = (days-(year*365)) / 7;
printf("Weeks: %d\n", weeks);
days = days-(year*365)-(weeks*7);
printf("Days: %d\n", days);
}
else{
printf("Only positive numeric is allowed.");
}
return 0;
}
期望輸出:

uj5u.com熱心網友回復:
代碼需要使用回傳值
scanf()來判斷掃描成功。“正數”需要范圍測驗。
// scanf("%d", &days);
// if(days)
if (scanf("%d", &days) == 1 && days > 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/316333.html
上一篇:為數字添加條件的程式
