久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8906|回復: 9
打印 上一主題 下一主題
收起左側

C語言中怎樣把數倒過來

[復制鏈接]
跳轉到指定樓層
樓主
單片機中,C語怎樣把數倒過來,比如一組數為12345,我要把她反來,即變成54321這樣。
要怎樣編寫?謝謝!!!


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:432085 發表于 2018-12-12 10:46 | 只看該作者
定義數組,然后利用for循環過來改變。
int a=[1,2,3,4];
int b=[];
int i=0;
for(i<4;i++)
b(i)=a(3-i);

評分

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

查看全部評分

回復

使用道具 舉報

板凳
ID:276442 發表于 2018-12-12 10:52 | 只看該作者
直接用個中間變量,a[2]=temp;a[2]=a[1];a[1]=temp;加個for循環應該可以

評分

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

查看全部評分

回復

使用道具 舉報

地板
ID:338671 發表于 2018-12-12 11:26 | 只看該作者
數組比較簡單:把數組倒過來輸出就可以了,還有的就是使用鏈表

評分

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

查看全部評分

回復

使用道具 舉報

5#
ID:213173 發表于 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];

評分

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

查看全部評分

回復

使用道具 舉報

6#
ID:441427 發表于 2018-12-12 11:39 | 只看該作者
本帖最后由 吳語吖 于 2018-12-12 13:13 編輯

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

評分

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

查看全部評分

回復

使用道具 舉報

7#
ID:382454 發表于 2018-12-12 22:50 來自觸屏版 | 只看該作者
wulin 發表于 2018-12-12 11:31
unsigned int table[5];
unsigned int a=12345;
unsigned int b=0;

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

使用道具 舉報

8#
ID:382454 發表于 2018-12-12 22:52 來自觸屏版 | 只看該作者
張海見 發表于 2018-12-12 10:46
定義數組,然后利用for循環過來改變。
int a=[1,2,3,4];
int b=[];

明天試試,謝謝!
回復

使用道具 舉報

9#
ID:382454 發表于 2018-12-13 09:32 | 只看該作者
  1. #include<reg52.h>                                //52系列單片機頭機文件
  2. #include<intrins.h>                                //包含nop函數
  3. #define uint unsigned int                //宏定義
  4. #define uchar unsigned char                //宏定義

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

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

  17.         i=0;                                                  //清零
  18.         for(i=0;i<4;i++)
  19.                 {
  20.                 revsum+=reverse[i++]*1000;          //把表里面的4,3,2,1四位數各乘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 (164.84 KB, 下載次數: 48)

1.PNG
回復

使用道具 舉報

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

  10.         i=0;                                                  //清零
  11. //        for(i=0;i<4;i++)
  12. //                {
  13. //                revsum+=reverse[i++]*1000;          //把表里面的4,3,2,1四位數各乘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 (166.36 KB, 下載次數: 58)

2.png
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产伦精品一区二区三区照片91 | 国产综合精品一区二区三区 | 精品国产精品国产偷麻豆 | 久久久久国产精品一区 | 亚欧精品一区 | 精品国产乱码久久久久久88av | 久久久xx| 色欧美综合 | 国产久| 日韩一级精品视频在线观看 | 成人黄色av网址 | 国产97人人超碰caoprom | 日韩一区二区不卡 | 精品国产欧美一区二区三区成人 | 日韩精品在线一区 | 日韩中文字幕免费在线 | 精品欧美激情精品一区 | 成人国产在线观看 | 国产1区在线 | 日本激情视频在线播放 | 日韩一级电影免费观看 | 三级成人在线 | 国产一区二区三区 | 91视频观看| 免费在线观看黄色av | 国产探花在线精品一区二区 | 在线精品观看 | 狠狠插天天干 | 午夜精品视频在线观看 | 中文字幕视频在线免费 | 综合久久99 | 成人免费看黄网站在线观看 | 欧美一级毛片久久99精品蜜桃 | jlzzjlzz欧美大全 | 成人蜜桃av | 国产特级毛片aaaaaa | 欧美老妇交乱视频 | 中文字幕一区二区三区乱码在线 | 亚洲日本欧美日韩高观看 | 日日噜| 天天操网 |