c語言浮點數相加
A. c語言求輸入連個浮點變數,輸出他們相加的結果。
#include<stdio.h>
main()
{
float
a,s=0;
do{
printf("請輸入一個數(輸入0結束):");
scanf("%f",&a);
s+=a;
printf("總和:%f\n",s);}while(a!=0);
}
自己調試吧
用for循環
#include<stdio.h>
main()
{
float
a,s=0;
for(;;)
{if(a!=0)
{
printf("請輸入一個數(輸入0結束):");
scanf("%f",&a);
s+=a;
printf("總和:%f\n",s);
}
else
break;
}
}
B. c語言里字元型和浮點型相加是什麼與ASCII值有什麼關系
根據自動的轉換原則,低級的向高一級的轉換,所以相加後的結果為字元型對應的ASCII值與浮點型相加後的結果,結果應該為浮點型。
因為字元型實際上是以ASCII值的形式存儲的,和整形相同,所以直接進行與數值間的運算時,利用的是其對應的ASCII值,相當於整形數據和浮點型數據的運算
可以舉一個簡單的小例子,便於理解和驗證,如下所示:
#include<stdio.h>
void main(){
char a='m';
float b=12.32;
printf("a的值為%c,b的值為%.2f\n\n",a,b);
printf("將字元型數據a(值為m)以整型輸出為:%d\n",a);
printf("a+b的結果以浮點形式輸出為%.2f\n",a+b);
}
試一下,看看結果就會明白了!
C. c語言編程從鍵盤輸入兩個浮點數,計算並其和,保留兩位小數輸出。
#include <stdio.h>
int main(void)
{
float n, n2, n3;
printf("請輸入一個數 ");
scanf("%f",&n);
printf("請再輸入一個數 ");
scanf("%f",&n2);
n3=n2+n;
printf("這兩個數的和是%.2f",n3);
return 0;
}
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
D. 編程輸出求兩個浮點型數據之和(C語言程序設計)
#include <stdio.h>
int main()
{
float a,b;//如果需要更精確,可以定義為double型。
printf("請依次輸入這兩個數(用空格分開):");
scanf("%f %f",&a,&b);
printf("求和等於:%.6f\n\n",a+b);//其中「%.6f」是精確到小數點後6位,可以根據需要改。
return 0;
}
E. C語言字元數組與浮點數加法問題
#include <stdio.h>
int main()
{
int i;
float f1,f2,k=0.2;
char a[4]={'1','2','.','3'},b[4]={0};
sscanf(a,"%f",&f1);
f2=f1+n;
sprintf(b,"%f",f2);
for(i=0;i<4;i++)
{
printf("b[%d]='%c'\n",i,b[i]);
}
return 0;
}
// 重點是sprintf 和 sscanf這兩個函數的應用,這是兩個無比強大的函數,會用他很多問題會變得很簡單 。
F. c語言中小數部分是怎麼相加的
1.C語言的小數都是浮點數。浮點數屬於floating binary point types,也就是說都double型的數值在相加減的時候,會將數值轉換成二進制的數值如10001.10010110011這種表示發再做相加減,但是在轉換成二進制代碼表示的時候,存儲小數部分的位數會有不夠的現象,即無限循環小數,這就就會造成小數相加後結果會有微差距。
2.浮點數是屬於有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中通常是2)的整數次冪得到,這種表示方法類似於基數為10的科學計數法。
3.浮點計算是指浮點數參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或舍入。
一個浮點數a由兩個數m和e來表示:a = m × b^e。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來存儲)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。如果m的第一位是非0整數,m稱作規格化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。
G. C語言浮點數的加法
float佔32位
有效數字是6位;范圍是:-3.4x10(-38) ~ 3.4x10(38)
你說的數據 5000.1234 是可以的
H. C語言浮點數相加單、雙精度問題
十進制要轉2進制運算,再轉回十進制輸出,所以有截斷誤差。
float 有效數字 精度 為 7 位。
sy 是 double, 要用格式 %lf