Ⅰ c語言:循環語句解決:從鍵盤輸入一個負整數,在屏幕上將其逆序輸出。該怎麼處理呢謝謝。
看看這個行不行:
#include<stdio.h>
voidmain()
{
intn,tmp=0;
printf("輸入一個負整數:");
scanf("%d",&n);
if(n<0)
{
n=-n;
while(n!=0)
{
tmp=tmp*10+n%10;
n=n/10;
}
printf("%d ",-tmp);
}
else
{
printf("錯誤:輸入的不是一個負數。");
}
}
Ⅱ 請問在C語言中程序的運行結果能是負數嗎
能啊,如果你說的是變數,把變數定義成有符號數就行。如果你說的是函數返回值,把函數返回類型定義為有符號就行。
Ⅲ 用C語言逆序輸出一個整數,並且要求正確的輸出負數
輸入的時候就是把數字也看成一個個字元
定義一個word[100]
然後調用輸入函數,把你的字元串輸入其中。
再逆序一下輸出就好了
Ⅳ c語言關於負數求逆序
對於遵守c99及以後版本標準的編譯器來說,是沒有必要
但對於c99標准以前的編譯器,就有必要了,因為c99以前沒有對有負數參與的求模運算做規定,不同的編譯器可能結果不同,余數可能是負數
C99 規定:如果 % 左邊>0,則結果>=0;如果 % 左邊<0,則結果<=0
Ⅳ c語言中輸入負整數,怎樣忽略負號
忽略負號是應該取絕對值,但對於初學者可能有些還不會,比如還沒學到函數
那麼可以有個最簡單的語句
if(a<0)
a*=-1; //a*=-1相當於a=a*-1
如果a<0,就把a乘一個-1
Ⅵ C語言輸出整型時為什麼有時會輸出負數
可以把代碼貼出來嗎
樓主,我沒有出現你的情況
我用的是你的代碼,運用winTC編譯,代碼如下
#include"stdio.h"
main()
{
inta,b;
scanf("%d%d",&a,&b);
printf("%d,%d",a,b);
getch();
}
輸入4-7,輸出為4,-7
沒有出現溢出現象
Ⅶ 要求輸入一整數,逆序輸出,要求帶負數,用c語言,速求,可加分,最好別用數組
#include <stdio.h>
int main()
{
int n;
int flag = 0;
scanf("%d",&n);
if(n<0)
{
n = -n;
flag = 1;
}
if(n==0)
puts("0");
else
{
while(n)
{
printf("%d",n%10);
n/=10;
}
if(flag)
putchar('-');
putchar('\n');
}
return 0;
}
Ⅷ c語言問題,為什麼會輸出負數
這個問題有多種可能,不一而足。
演算法有錯誤,最終計算結果是負數。輸出自然會是負數。
例如:
inta=1;
intb=a-2;
printf("b=%d",b);
//輸出結果:b=-1超過變數類型的最大取值范圍,發生溢出。
例如Turbo C里int是16位,取值范圍-32768~32767。如果計算過程當中,數值超過32767,由於補碼的關系。結果就有可能是負數。這種情況,就需要使用取值范圍更大的數據類型。
常式:
#include<stdio.h>
voidmain(){
inta,b,ch;
a=32767;
b=a+1;
printf("a=%d,b=%d",a,b);
ch=getch();
}
//輸出結果:a=32767,b=-32768
Ⅸ C語言編寫程序從鍵盤輸入一個整數,判斷其正負,正數輸出其相反數,負數輸出零
#include <stdio.h>
int main()
{ int x;
scanf("%d",&x);
printf("%d\n",x>0?-x:0);
return 0;
}