Ⅰ c語言正負數的和
您好:
這個題目是在考察循環知識,
我們採用for循環來計算1+1+2+4+...+100的和,
但是,由於是正負交替,所以我們採用一個變數來控制符號,
就是用變數temp=1,然後讓它和 -1 相乘,這樣正負就會交替了。
下面給出圖片和代碼:
#include<stdio.h>
intmain(void)
{
intn;
while(~scanf("%d",&n))
{
intsum=0,temp=1,i=1;
for(;i<=n;i++,temp*=-1)
sum+=i*temp;
printf("%d
",sum);
}
return0;
}
Ⅱ C語言如何把負數轉化為正數
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
Ⅲ C語言中負號數怎樣轉換成正號數
數在計算機都以二進制方式存放的,二進制負數以補碼形式存放,第一位為符號位,1表明是負數。
如果不懂什麼是補碼:
負數的補碼是對其原碼逐位取反,但符號位除外;然後整個數加1。 同一個數字在不同的補碼表示形式里頭,是不同的。比方說-15的補碼,在8位2進制里頭是11110001,然而在16位2進制補碼表示的情況下,就成了1111111111110001。在這篇補碼概述里頭涉及的補碼轉換默認了把一個數轉換成8位2進制的補碼形式,每一種補碼表示形式都只能表示有限的數字。 【例2】求-7的補碼。 因為給定數是負數,則符號位為「1」。 後七位:+7的原碼(0000111)→按位取反(1111000)→加1(1111001) 所以-7的補碼是11111001。
Ⅳ C語言如何實現正負交替
標記法
flag默認為1
flag = -flag;
if(flag==1) 正數
else 負數
判斷循環i值法:
for(i=1;i<=n;i++)
if(i%2==1) 正數
else 負數
Ⅳ C語言同時為正負再前
28同時為正 需要a>0 && b>0
同時為負 需要a<0 && b<0
之間是或的關系 需要(a>0 && b>0 )||(a<0 && b<0)
ABC都明顯是不對的。
而D 其實是取巧。當符號相同時,乘積為正。 但是 在實際中不要這么寫,因為有可能會越界的 ,導致判斷不準確。
29 第一次循環 n--為3, 列印--n,先自減為2,列印2
第二次循環 n=2不為0 ,繼續循環,n--為1, 列印--n,先自減為0,列印0.
第三次,判斷n為0,退出循環。於是輸出2 0
30 A 和B的 a+1 和p+1 都是a[1]的地址。
而D,先對p進行自加,自加後p指向a[1],p值也就是a[1]的地址。
只有C 作為數組名,是不可以自加的。 選C
Ⅵ C語言中如何加入符號位使式子變成正負相間
乘-1就可以了
示例如下:
intNegative(intn){
returnn*(-1);
}
intNeg(inttimes)
{
intret=-1;
for(inti=0;i<times;i++)
ret*=-1;
returnret;
}
//使用示例:
intmain()
{
inta=10;
printf("a%d-a%d ",a,Negative(a));
printf("%d*(-1)的5次方=%d ",a,Neg(5)*a);
return0;
}
Ⅶ C語言如何表示正負值問題
c語言有兩種數據類型,一種是整型,一種是浮點型 ,整型類型一般用的原碼表示,浮點類型一般用的IEEE754標准進行編碼。
整型數中原碼表示正負數,取最高位為符號位,以8位二進制數來表示1和-1。1的二進制為
0 000 0001 //最高位為符號位,0表示正數,1表示負數
1 000 0001 //這個表示-1
IEEE754浮點數編碼,使用的格式類似於 (-1)^s * M* 2^E,其中s是符號位,M是有效位數,E指的是指數,s符號位佔1位,如果是0,則(-1)的0次方為1,表示是一個正數,如果s位是-1,則表示是一個負數。