c語言scanf連續(xù)輸入 c語言中,一次連續(xù)輸入多組數(shù)據(jù),并且最后連續(xù)輸出多組結(jié)果,應(yīng)該用哪種方法?
c語言中,一次連續(xù)輸入多組數(shù)據(jù),并且最后連續(xù)輸出多組結(jié)果,應(yīng)該用哪種方法?用二維數(shù)組就可以實現(xiàn)一次連續(xù)輸入多組數(shù)據(jù)。思路是嵌套循環(huán),外層循環(huán)控制二維數(shù)組的行數(shù)(也就是第幾組數(shù)據(jù)),內(nèi)層循環(huán)控制這組數(shù)據(jù)
c語言中,一次連續(xù)輸入多組數(shù)據(jù),并且最后連續(xù)輸出多組結(jié)果,應(yīng)該用哪種方法?
用二維數(shù)組就可以實現(xiàn)一次連續(xù)輸入多組數(shù)據(jù)。思路是嵌套循環(huán),外層循環(huán)控制二維數(shù)組的行數(shù)(也就是第幾組數(shù)據(jù)),內(nèi)層循環(huán)控制這組數(shù)據(jù)中數(shù)據(jù)個數(shù)。采用二維數(shù)組方法的有點在于,這種隨機存取的數(shù)據(jù)結(jié)構(gòu)方便查找和檢索,但一定要注意這種方法不便于向已有數(shù)據(jù)中插入和刪除數(shù)據(jù)。
c語言編程中連續(xù)按回車輸入數(shù)據(jù)問題?
樓主的程序中的while循環(huán)語句完成的功能是從標(biāo)準(zhǔn)輸入中逐一讀入內(nèi)容,再輸出,因此,“每次只能輸入一個數(shù)據(jù),然后電腦給出一個數(shù)據(jù),不能連續(xù)輸入”。如果需要達到連續(xù)輸入,連續(xù)輸出的功能,那么程序中必須增加代碼用于保存連續(xù)的輸入數(shù)據(jù),然后再依次換算這些數(shù)據(jù),連續(xù)輸出。比如:將主函數(shù)體換成如下代碼int main(){ int N int i float *a float b scanf("%d", &N) a = (float *)malloc(N, sizeof(float)) for(i = 0 i < N i ) // 讀入 { scanf("%f", &a[i]) } for(i = 0 i < N i ) // 換算和輸出 { b= 5/9.0*(a[i]-32) // 換算 printf("%.2fn", b) } free(a) return 0}
C語言中如何實現(xiàn)多組數(shù)據(jù)輸入輸出?
c語言中有一個標(biāo)準(zhǔn)輸入函數(shù),即:scanf函數(shù),它可以讀取輸入的任意格式類型的數(shù)據(jù)。
scanf函數(shù)也有返回值,返回類型為int類型,它返回成功讀入的項目的個數(shù)。如果它沒有讀取任何項目(當(dāng)它期望一個數(shù)字而您卻鍵入了一個非數(shù)字字符串時就會發(fā)生這種情況,scanf()會返回0。當(dāng)它檢測到“文件結(jié)尾”(end of file)時,它返回EOF(EOF是在文件stdio.h中定義的特殊值,一般#define指令把EOF的值定義為-1,我們可以理解為:#define EOF -1)。c語言中,所有的輸入函數(shù)都共用同一個輸入緩沖區(qū),我們從鍵盤鍵入數(shù)據(jù)時,其實是將輸入寫入緩沖區(qū)中,當(dāng)我們按下回車鍵時,scanf()函數(shù)從緩沖區(qū)中讀取輸入,刷新緩沖區(qū)。