欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9207|回復: 9
收起左側

C語言中怎樣把數(shù)倒過來

[復制鏈接]
ID:382454 發(fā)表于 2018-12-12 09:53 | 顯示全部樓層 |閱讀模式
單片機中,C語怎樣把數(shù)倒過來,比如一組數(shù)為12345,我要把她反來,即變成54321這樣。
要怎樣編寫?謝謝!!


回復

使用道具 舉報

ID:432085 發(fā)表于 2018-12-12 10:46 | 顯示全部樓層
定義數(shù)組,然后利用for循環(huán)過來改變。
int a=[1,2,3,4];
int b=[];
int i=0;
for(i<4;i++)
b(i)=a(3-i);

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:276442 發(fā)表于 2018-12-12 10:52 | 顯示全部樓層
直接用個中間變量,a[2]=temp;a[2]=a[1];a[1]=temp;加個for循環(huán)應該可以

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:338671 發(fā)表于 2018-12-12 11:26 | 顯示全部樓層
數(shù)組比較簡單:把數(shù)組倒過來輸出就可以了,還有的就是使用鏈表

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:213173 發(fā)表于 2018-12-12 11:31 | 顯示全部樓層
本帖最后由 wulin 于 2018-12-12 13:09 編輯

unsigned int table[5];
unsigned int a=12345;
unsigned int b=0;
unsigned char i;

        table[0]=a/10000%10;
        table[1]=a/1000%10;
        table[2]=a/100%10;
        table[3]=a/10%10;
        table[4]=a%10;
        for(i=4;i>0;i--)
                table[4]=table[4]*10+table[i-1];
        b=table[4];

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
無效樓層,該帖已經(jīng)被刪除
7#
無效樓層,該帖已經(jīng)被刪除
ID:441427 發(fā)表于 2018-12-12 11:39 | 顯示全部樓層
本帖最后由 吳語吖 于 2018-12-12 13:13 編輯

我是個新手,只會最傻的辦法,
unsigned int temp
temp=shuzhu[4]
shuzhu[4]=shuzhu[0]
shuzhu[0]=temp;
......
這樣,

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:382454 發(fā)表于 2018-12-12 22:50 來自觸屏版 | 顯示全部樓層
wulin 發(fā)表于 2018-12-12 11:31
unsigned int table[5];
unsigned int a=12345;
unsigned int b=0;

這種方法不錯,明天寫一個出來。
回復

使用道具 舉報

ID:382454 發(fā)表于 2018-12-12 22:52 來自觸屏版 | 顯示全部樓層
張海見 發(fā)表于 2018-12-12 10:46
定義數(shù)組,然后利用for循環(huán)過來改變。
int a=[1,2,3,4];
int b=[];

明天試試,謝謝!
回復

使用道具 舉報

ID:382454 發(fā)表于 2018-12-13 09:32 | 顯示全部樓層
  1. #include<reg52.h>                                //52系列單片機頭機文件
  2. #include<intrins.h>                                //包含nop函數(shù)
  3. #define uint unsigned int                //宏定義
  4. #define uchar unsigned char                //宏定義

  5. unsigned char reverse[4];                 //定義一個4位數(shù)的表
  6. unsigned int revsum;                         //定義一個反向的整形變量
  7. bit led=0;

  8. /****************主函數(shù)*********************/
  9. void main()        
  10. {
  11.    
  12.    unsigned int i=1234;                        //定義一個整形1234
  13.         reverse[0]=i%10;                          //取個位數(shù)放到表里面
  14.         reverse[1]=i/10%10;                          //取十位數(shù)放到表里面
  15.         reverse[2]=i/100%10;                  //取百位數(shù)放到表里面
  16.         reverse[3]=i/1000%10;                  //取千位數(shù)放到表里面

  17.         i=0;                                                  //清零
  18.         for(i=0;i<4;i++)
  19.                 {
  20.                 revsum+=reverse[i++]*1000;          //把表里面的4,3,2,1四位數(shù)各乘1000、100、10、1再累加
  21.                 revsum+=reverse[i++]*100;
  22.                 revsum+=reverse[i++]*10;
  23.                 revsum+=reverse[i++]*1;

  24.                 if(revsum==4321)                                  //判斷值是否相等
  25.                         {
  26.                         led=1;                                                  //相等則至1
  27.                         }

  28.                 }
  29.                 while(1)
  30.                 {
  31.                 }
  32.         
  33. }
復制代碼


1.PNG
回復

使用道具 舉報

ID:382454 發(fā)表于 2018-12-13 09:44 | 顯示全部樓層
也可以這樣,做成一行累加完成。就不要四行代碼了。
  1. /****************主函數(shù)*********************/
  2. void main()       
  3. {
  4.    
  5.    unsigned int i=1234;                        //定義一個整形1234
  6.         reverse[0]=i%10;                          //取個位數(shù)放到表里面
  7.         reverse[1]=i/10%10;                          //取十位數(shù)放到表里面
  8.         reverse[2]=i/100%10;                  //取百位數(shù)放到表里面
  9.         reverse[3]=i/1000%10;                  //取千位數(shù)放到表里面

  10.         i=0;                                                  //清零
  11. //        for(i=0;i<4;i++)
  12. //                {
  13. //                revsum+=reverse[i++]*1000;          //把表里面的4,3,2,1四位數(shù)各乘1000、100、10、1再累加
  14. //                revsum+=reverse[i++]*100;
  15. //                revsum+=reverse[i++]*10;
  16. //                revsum+=reverse[i++]*1;
  17. //
  18.   revsum=reverse[0]*1000+reverse[1]*100+reverse[2]*10+reverse[3]*1;                //這樣的代碼也可以一次性累加完

  19.                 if(revsum==4321)                                  //判斷值是否相等
  20.                         {
  21.                         led=1;                                                  //相等則至1
  22.                         }
  23. //
  24. //                }
  25.                 while(1)
  26.                 {
  27.                 }
  28.        
  29. }
復制代碼



2.png
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表