1樓:匿名使用者
第一個問題:
這程式有兩個問題:
1. 讀入的格式與txt檔案不符。你的txt是用空格來分隔數字的,而程式卻用逗號。
2. 讀入的行數沒有記錄,導致p和c兩個陣列中,大量空元素也被輸出。
程式可以這樣改:
#include "stdio.h"
#include
void main()
fclose(in);/*關閉原始檔*/
for(i=0;i printf("%f,%f\n",p[i],c[i]); double a=1.5679,m=1.54543,b=1.08490,n=1.48491,rw=0.034; for (i=0;i p[i]=pow((double)(a*b*rw)/(p[i]*pow((double)c[i],(double)m)),1/n); out=fopen(outfile,"w"); /*處理完成,開始輸出到outfile檔案*/ for (i=0; i fprintf(out,"%f\n",p[i]); fclose(out); } else printf("can not open infile\n"); } 第二個問題: 如果只想要一列,不把東西寫入陣列c就行: // 兩個%f,但是隻儲存第一個,第二個遺棄 double no_use; 輸出時候: fprintf(out,"%f\n",p[i]); 2樓:我是小超子 /*程式被我修改為如下,不知道是否滿足你的要求,滿足的話就給分吧哈哈*/ #include #include void main() fclose(in);/*關閉原始檔*/ for(i=0;i printf("%f,%f\n",p[i],c[i]); double a=1.5679,m=1.54543,b=1.08490,n=1.48491,rw=0.034; for (i=0;i p[i]=pow((a*b*rw)/(p[i]*pow(c[i],m)),1/n); //這裡的可讀性很差 out=fopen(outfile,"w"); /*處理完成,開始輸出到outfile檔案*/ for (i=0; i fprintf(out,"%f\n",p[i]); fclose(out); } else printf("can not open infile\n"); } /*修改後的程式得到的檔案中的資料如下*/ /* 0.162931 0.321832 0.699797 0.338431 0.706858 0.573628 0.499056 0.558954 0.175229 0.313424 0.213568 0.144576 */ /*你的第二個問題我看了半天不明白什麼意思,所以請原諒*/ //還有你的程式可讀性很差,這次錯的原因也是寫的太亂,勸告你還是先一步 //一個腳印的好,最好請給分吧哈哈。 //樓主看得出來我是最用心回答的吧哈哈 求一個用c語言編寫的程式!!!要解決實際的問題!!!!! 寫在楓葉上的故事 在c語言中,輸入使用的是scanf函式,scanf函式的格式為scanf 格式控制,地址列表 如scanf d a 輸出使用的是printf 函式,printf函式的格式為printf 格式控制,輸出表列 如printf d n a 在輸出時可以在 和字母之間插進數字表示最大場寬。... 碧海風雲 有反應啊 首先輸入5個字元,隨後會輸出方才輸入的字元。include int main for i 0 i 5 i putchar n return 0 執行結果 輸入 abcde 輸出 abcde c語言中的輸入輸出函式總結 c語言中資料輸入輸出的概念及在c語言中的實現 1 所謂輸入輸出... 你先要設定陣列的大小,這個你必須要定義的。你要不確定你要多少你最好把你的數值設定大些。至於你要輸多個你可以用迴圈語句如 for i 1 i n i scanf d a n 輸出還是一樣之是把scanf改成printf不要取地址就行了。希望能對你有幫助。就用輸入輸出函式就可以啊。c語言中有一個。標準輸...c語言輸入輸出格式,C語言輸入輸出格式
輕鬆c語言用函式輸入輸出,輕鬆C語言用函式輸入輸出
C語言中如何實現多組資料輸入輸出