當我輸入像3,000,000,000(無逗號)的大數字時,我得不到正確的結果。無論輸入的數字多大,顯示的數字都不會超過9位。C數據類型混淆
的問題如下:
執行以下計算,其中該系統只接受來自
0
到3x109
(即3,000,000,000
)正整數,並且示出了結果作爲輸出VDU:y = 3x2 - 2x + 6
。如果數字是整數或在範圍內,則不需要檢查算法。我們將假定它始終正確輸入。但是,您必須嘗試使用正確的數據類型進行編碼。請書檢查數據類型使用正整數,這將是dened範圍
這裏是內部代碼
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned x=0, y=0;
printf("Enter a positive number between 0 to 300000000\n");
scanf("%u",&x);
y=(3*x*x)-(2*x)+6;
printf("\n\nThe value of y is %u",y);
return 0;
}
歡迎來到Stack Overflow!如果你自己解決問題並[描述你所嘗試的](http://whathaveyoutried.com),我們更有可能幫助你。檢查堆棧溢出[問題清單](http://meta.stackexchange。com/questions/156810/stack-overflow-question-checklist)瞭解更多關於提出正確問題的信息。祝你好運,快樂的編碼! –
「VDU輸出」...快速加密問題:你能檢查你的課本是在哪一年打印的嗎? – usr2564301