1樓:匿名使用者
printf("%f",d/10)這行**的輸出控制有誤,因為d定義的是int型,d/10還是int型,應該使用%d,而不是%f,%f是單精度浮點型資料。
格式說明由「%」和格式字元組成,如%d%f等。它的作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由「%」字元開始的。不同型別的資料用不同的格式字元。
格式字元有d,o,x,u,c,s,f,e,g等。
1.%d整型輸出,%ld長整型輸出,
2.%o以八進位制數形式輸出整數,
3.%x以十六進位制數形式輸出整數,
4.%u以十進位制數輸出unsigned型資料(無符號數)。
5.%c用來輸出一個字元,
改過之後執行結果:
2樓:滄海雄風
#include
int main (void)
,d=0; //第一 你的d沒有初始化 所以值是不確定壟斷int s;
for(s=0;s<10;s++)
d+=a[s];
printf("%f",(float)d/10); //第二這裡沒有轉換兩個int除出來是個整數用%f輸出是錯誤的
return 0;
}1.000000press any key to continue
3樓:被主遺棄的人
首先,你的d沒有初始化,應該寫成d=0,建議d宣告為double。第二,printf那句,d/10,兩個int相除還是int,需要強轉(double)d/10就沒有問題了,當然最好是把d宣告為double,就不用強轉了
c語言作業 用陣列求資料平均值(保留兩位小數) 5
c語言程式設計:將從鍵盤輸入的20個整數存入一維陣列中,計算所有元素的和、平均值及最大值並輸出
4樓:
#include
int main(void)
{int a[20];
int i=0;
for (;i<20;i++)
scanf("%d",&a[i]);
int result=0;
for (i=0;i<20;i++)
result+=a[i];
printf("和為:%d\n平均值為:%f\n",result,result/20.0);/*20.0不能改為20*/
result=a[0]
for (i=1;i<20;i++)
{if (result
C語言中的陣列具有的特性是 A 所有元素具有相同的資料型別B 元素下標從1開始
a 所有元素具有相同的資料型別 正確.定義陣列形式為 type name size 每個元素的型別都是type.b 元素下標從1開始 錯誤,從0開始.c 所有元素佔用連續的記憶體 正確.陣列佔記憶體連續.從陣列名即首地址開始.d 陣列名是一個地址常量 正確.陣列名值為陣列首地址,型別為一個常量陣列指...
c語言,給不知道元素個數的陣列的所有元素賦相同的值
void func int a,int n a是不知道元素個數的整形陣列,n是你要賦的值 int x,i x sizeof a 2 for i 0 i此函 數可以實回現你的目的答 可以利用系統函式memset 陣列名,初值,sizeof 陣列名 來整體賦相同的初值。但是要注版意 必須在程式開權 頭引...
c語言,怎麼用for 迴圈給陣列賦值說的簡單詳細點
for i 1 i 11 i scanf d a i 給個抄參襲考資bai 料你du看zhi 看吧dao 一個簡單 抄的例子 int main return 0 const int max szie 200 int arr max size 良好抄習襲慣,bai定義 du先初zhi始化 daofor...