㈠ 試用c語言實現一個2維矩陣(float類型)
**B, int **C, int m, int p, int n)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < p; j++)
{
C[i][j] = 0;
for (int k = 0; k < n; k++)
{
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
㈡ C語言中怎麼將一個整形數組轉化為一個float或者int類型數字比如 int a[5]={1,2,
intconvert(inta[],intn)//n為數組元素個數
{
inti,sum;
for(i=0,sum=0;i<n;i++)
{
sum*=10;
sum+=a[i];
}
returnsum;//將結果返回給指定的整型變數
}
㈢ c語言中float類型的運算中可以出現整數嗎,例如s+=1/n(s和n都是float型)
這是可以的。C系統會進行自動類型轉換的。
㈣ c語言 如何把一個浮點存入32位無符號出錯
我大概猜出你是什麼意思,
不用調用函數就能實現
#include裂枯悶<stdio.h>
intmain(intargc,char*argv[])
{
floatf=3.14;
inti=*(int*)&f;//將f的地址強制看作int型的地址,並將其內容賦值給i
printf("i:%x ",i);
unsignedshorthigh,low;//是不是無符號無所謂
high=i>>16;//high存高16位
low=i;//low存低16位
printf("hl:%x%x ",high,low);
敗激intnewi=high<<16|low;//通過位操作將16位的short數字拼湊成32位int
printf("newi:%x ",newi);
floatnewf=*(float*)&newi;//強制轉化回來驗證效果
printf("newf:%f ",newf);
return0;
}
運行結果
i:4048f5c3
hl:4048f5c3
newi:肆彎4048f5c3
newf:3.140000
請按任意鍵繼續...
㈤ 二維數組
2個解決辦法。
方法1(二維數組其實也是一維數組): 把二維數組按照一維分配內存,把其下標 換成1維下邊進行運算。
舉個栗子:
a[5][5] ;
可以直接分配雀茄一個 a[5 * 5] 的內存;這樣就可以 用new了吧 ;計算時,比如要對a[2][3]進行賦值 可以直接取 一維 a[2 * 5 + 3] 這個下標;5為寬度。 公式:緯度下標×寬度+長度下標。
方法2(沒有方法1用著方便):使用動態二維數組。
栗子:滾歲脊該怎麼解釋呢。。。。直接看代碼吧。。。
int** a;
int x = 5,y = 10;
a = new int*[x]; //就是一個指大滲針數組。
for(int i= 0;i < x;++i)
a[i] = new int[y];//讓a數組的每一個元素成為一個數組首地址.
需要注意的是,使用後,記得手動釋放內存。
㈥ c語言中float x[100]什麼意思
float[盯穗尺] x=new float [100]凱高族雀
new一個 單精度類型的數組,數組長度為100.對象名為x.
㈦ C語言中如果想使用float或者double這樣的變數在開頭需要include什麼樣的庫函數
只是聲明,不需要頭文件。
但通常使用中,需要從鍵盤輸入數據或把計算結果輸出到屏幕,這時,你需要 輸入輸出函數頭文伏段旅件
#include <stdio.h>
注意拼寫和標點符號,不要寫錯,也不能用中文字元和標點符號。
------------
例如,編燃賣譯下面程序,應能缺凳通過編譯,可以運行(當然沒有輸入輸出,直到程序結束)
main(){
double d;
float f;
}
如果編譯有錯,那麼你的編譯器或編譯器安裝沒做好。
------
㈧ C語言如何轉換數據類型
c語言類型轉換分級別,一般多是:
默認狀態:低級向高級轉換,級別高低(小到大):int,float,double,(注意char只可以和int之間轉換);
若要高級向低級轉換:就要用到強制類型轉換符!如int(7.7)=7;