當前位置:首頁 » 編程語言 » C語言反轉整數

C語言反轉整數

發布時間: 2022-10-03 02:51:26

A. c語言:短整型的低四位反轉問題(輸入輸出看說明),咋編

  1. 題目肯定是在早期的C環境下,因為早期的int是16bit,所以才把8bit的數據叫「短整型」;以後int是32bit了,所以實際上題目是說把一個char型數據進行處理。

  2. 按照說明,這也不叫「反轉」,應該叫按位取反;因為「反轉」的意思是把1234二進制位倒過來,即若是1101則變成1011,而按此題則應輸出0010。

代碼文本:

#include "stdio.h"

int main(int argc,char *argv[]){

char ch;

printf("Please enter a letter... ");

if(scanf(" %c",&ch)==1 && (ch>='A' && ch<='Z' || ch>='a' && ch<='z'))

printf("0x%x ",ch^0x0F);

else

printf("Input error, exit... ");

return 0;

}

B. C語言反轉數字的問題,拜託大神幫我看下我寫的哪裡不對

你不認為每一次從一個整數里取出一個數位上的數比較麻煩么?

難道不可以把一個數的個位取出來(劃掉),記下這個數;再取出一個個位數(劃掉),在剛才記下的數後面繼續寫第二個數……

#include<stdio.h>

intmain()
{
intn;
intsign,number;
intans;

scanf("%d",&n);
sign=n>0?1:-1;
number=n*sign;
ans=0;
while(number)
{
ans=ans*10+number%10;
number/=10;
}
ans*=sign;
printf("%d ",ans);
return0;
}

C. c語言:數字反轉

#include<stdio.h>
intreverseInt(intn)
{
intr=0;
while(n)
{
r=r*10+n%10;
n/=10;
}
returnr;
}
intmain()
{
intn;
scanf("%d",&n);
printf("%d ",reverseInt(n));
return0;
}

示例運行結果:

-103040

-40301

D. 輸入一個整數,講各位數字反轉後輸出,如何用C語言編寫

#include <stdio.h>
#include <conio.h>
int main()
{
int former,latter=0;
printf("請輸入需要反轉的整數:");
scanf("%d",&former);
do
{
latter*=10;
latter+=former%10;
former/=10;
}
while (former);
printf("反轉後整數為:%d",latter);
getch();
}二樓的方法是從低到高獲取每一位數字逐個輸出,而我的這種方法是計算出反轉之後的數據,然後再輸出。

E. C語言數字反轉,怎麼循環的,能給出每一步的結果嗎

要先理解方法,待翻轉的數字都是整數

方法有很多種的,字元串,棧,隊列等等都可以

這里採用的是最朴實的計算的方法

假設待翻轉的數字是123456

那我們的目標數字是654321

怎麼構造654321這個整型數字呢

正常思維應該是從兩端開始考慮吧, 如果從1開始構造

我們要從123456這個數字中獲取1

是不是很麻煩?

要是從6開始呢

直接除以10取余數, 也就是用123456 % 10 得到的不就是6么

然後是5 顯然我們需要把6去掉 得到 12345

然後 12345 % 10 得到了5

依次類推啊

然後是構造654321 最開始是6 怎麼把5加上去呢

6*10 +5

那如何開始循環呢?

考慮初始值是0 0*任何數都是0 然後加上初始數字就開始了啊

考慮到題主可能是初學者, 注意幾個點

  1. While(a) 只要a大於0 都為真

  2. 「 / 」得到的是最大整數商,余數部分不考慮

  3. 「 % 」得到的僅僅是余數

    感受C語言的魅力吧

F. C語言編程題:數字顛倒問題

int Reverse(int Ix)

{

int n=0,i;

int Ix2=Ix;

while(1)

{

n++;

Ix2/=10;

if(Ix2==0)

break;

}

cout<<n<<endl;

for(i=0;Ix;Ix/=10)

i=i*10+Ix%10;

cout<<i<<endl;

}

G. 輸入一個三位正整數,將它反向輸出。用c語言編!

#include <stdio.h>

void main( )

{

int n,a,b,c;

scanf("%d",&n);

a=n/100;

b=(n/10)%10;

c=n%10;

printf(" 倒序輸出結果:%d%d%d",c,b,a);

getch( );

}

(7)C語言反轉整數擴展閱讀

將三位正整數反向輸出的其他方法:

#include<stdio.h>

#include<math.h>

int main( )

{

int a,b1,b2,b3 ;

scanf("%d",&a);

if(a<100||a>1000) return 0;

b1=a/100;

b2=a%100/10;

b3=a%10;

if(b3==0&&b2==0)printf("%d",b1);

else if

(b3==0)printf("%d%d",b2,b1);

else

printf("%d%d%d",b3,b2,b1);

return 0;

}

H. C語言 輸入任意一個4位的整數,將其各位按相反次序重新組合成另一個整數輸出

#include<stdio.h>

int main()

{

int n,a[11],k=0;

scanf("%d",&n);

while(n!=0)

{

a[k++]=n%10;//將各個為上的數提取出來,a[0]是個位,以此類推;

n/=10;

}

for(int i=0;i<k;i++)//逆序輸出;

{

printf("%d",a[i]);

}

return 0;

}

十位以下都可以

I. c語言數字反轉怎麼做

代碼有不懂的地方可以問,會回答的
#include<stdio.h>
#include<math.h>
intmain()
{
intN,temp,result=0;
scanf("%d",&N);
temp=abs(N);//取絕對值
while(temp%10==0&&temp!=0)//先把末尾的0都去掉
temp/=10;

do{
result=result*10+temp%10;//加入個位
temp/=10;//去掉個位
}while(temp!=0);

if(N<0)//如果是負數,結果也要為負數
result*=-1;
printf("%d ",result);
return0;
}

熱點內容
安卓上哪裡下大型游戲 發布:2024-12-23 15:10:58 瀏覽:189
明日之後目前適用於什麼配置 發布:2024-12-23 14:56:09 瀏覽:56
php全形半形 發布:2024-12-23 14:55:17 瀏覽:829
手機上傳助手 發布:2024-12-23 14:55:14 瀏覽:733
什麼樣的主機配置吃雞開全效 發布:2024-12-23 14:55:13 瀏覽:831
安卓我的世界114版本有什麼 發布:2024-12-23 14:42:17 瀏覽:711
vbox源碼 發布:2024-12-23 14:41:32 瀏覽:279
詩經是怎麼存儲 發布:2024-12-23 14:41:29 瀏覽:661
屏蔽視頻廣告腳本 發布:2024-12-23 14:41:24 瀏覽:420
php解析pdf 發布:2024-12-23 14:40:01 瀏覽:821