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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求教unsigned char code buf[20],寫一段C程序指出數組中的最大值

[復制鏈接]
跳轉到指定樓層
樓主
ID:105996 發表于 2016-5-28 10:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
unsigned char code buf[20],寫一段C程序指出數組中的最大值,如buf[5]中,最大的是5.
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:111634 發表于 2016-5-28 14:12 | 只看該作者
本程序摘自張志良編著著《單片機實驗實訓100例——基于Keil C和Proteus》 ISBN 978-7-5124-1603-1北航出版社。



從串口隨機輸入16個數據,然后再從串口分二行分別輸出其排序前后的數據。


#include <reg51.h>                       //包含訪問sfr庫函數reg51.h


#include <stdio.h>                       //包含I/O庫函數stdio.h


#define  uchar unsigned char             //uchar表示unsigned char


void  main ( ) {                         //主函數


uchar data  i,j,k,m;                     //定義字符型變量ijk(最大值序號)、m(暫存器)


uchar data  a[16];                      //定義整型數組a[16]


TMOD=0x20;                         //串口初始化:定時器1工作方式2


TH1=TL1=0xE6;                      //1200波特率(fosc=12MHz


SCON=0x52;                         //串口方式1,允許接收,清發送中斷


TCON=0x40;                         //設置中斷控制,啟動T1


for(i=0; i<16; i++)                     //for循環


scanf("%bu",a+i);                    //串口輸入數組a數據(無符號字符型十進制整數)


for(i=0; i<16; i++) {                   //for循環


if (i%8==0)  printf("\n");              //i8的整倍數,換行(輸出時,8個一行)


printf ("a[%bu]=%bu,",i,a);}          //輸出數組a原始數據元素


for(i=0; i<15; i++) {                   //for循環,選擇法排序


k=i;                               //最大值序號k賦值,設最大值為首個元素


for(j=i; j<16; j++)                   //for循環,依次與后續數組元素比較,選出最大值


if (a[k]<a[j]) k=j;                 //比較,若a[k] <a[j],最大值序號變更


m=a[k];a[k]=a;a=m;}              //交換位置


printf ("\n");                          //換行


for(i=0; i<16; i++) {                   //for循環


if (i%8==0)  printf("\n");             //i8的整倍數,換行(輸出時,8個一行)


printf ("a[%bu]=%bu,",i,a);}          //輸出從大到小排序后數組a的數據元素


while(1);}                            //原地踏步,無限循環


回復

使用道具 舉報

板凳
ID:111634 發表于 2016-5-28 14:16 | 只看該作者
⒉ Keil調試



實例1所述步驟,編譯鏈接并進入調試狀態。


鼠標左鍵單擊調試工具條中圖標(   ),打開變量觀測窗口,Locals標簽頁中顯示局部變量ijkma,其中a為數組,編譯器安排其首地址為0x24


鼠標左鍵單擊調試工具條中圖標(   ),打開存儲器窗口。在Memory#1窗口的Address編輯框內鍵入“d0x24”,以便觀測內RAM 24H為首地址的數組a中的數據。


鼠標左鍵單擊全速運行圖標(   ),暫停圖標(   )變為紅色。


鼠標左鍵單擊調試工具條中圖標(   ),打開串行輸入/輸出信息窗口Serial #1。窗口內光標閃爍(表示被激活),依次鍵入數組a的原始數據:


a[16]={11,99,66,22,111,55,0,222,44, 155,77,255,133,100,88,33}


注意每鍵入一個數據,均要回車一次。回車后,Memory#1窗口內0x24及其后續單元依次顯示鍵入的數組a元素。最后一個數據鍵入完畢,回車后,Serial #1窗口立即顯示數組a原始數據和排序后的數據。前二行是排序前的原始數據,后二行是排序后的數據:


a[0]=11a[1]=99a[2]=66a[3]=22a[4]=111a[5]=55a[6]=0a[7]=222


a[8]=44a[9]=155a[10]=77a[11]=255a[12]=133a[13]=100a[14]=88a[15]=33


a[0]=255a[1]=222a[2]=155a[3]=133a[4]=111a[5]=100a[6]=99a[7]=88


a[8]=77a[9]=66a[10]=55a[11]=44a[12]=33a[13]=22a[14]=11a[15]=0


與此同時,Memory#1窗口以0x24為首地址的16個單元內,也改為排序后的數組a數據。


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品伊人久久久久网站 | 毛片一区二区三区 | 午夜天堂精品久久久久 | 精品国产乱码久久久久久中文 | 日韩久久久久久久久久久 | 久久亚洲国产 | 国产精品福利一区二区三区 | 亚洲第一免费播放区 | 成人av电影在线观看 | 久久久片 | tube国产| 欧美精品一区三区 | 国产偷久久一级精品60部 | а_天堂中文最新版地址 | 一区视频| 在线国产欧美 | 欧美在线观看一区 | 欧美不卡一区二区 | 久久精品青青大伊人av | 欧美一级二级在线观看 | 亚洲成人免费电影 | 91精品国产一区 | 久久噜噜噜精品国产亚洲综合 | 日韩精品一区二区三区久久 | 在线国产一区二区 | 成人欧美一区二区三区 | 欧美日韩久久精品 | 久久精品小短片 | 欧洲国产精品视频 | 亚洲欧美精品在线 | 成人欧美日韩一区二区三区 | av中文字幕在线观看 | 久久精彩视频 | 91精品久久久久久久久中文字幕 | 欧美成年黄网站色视频 | 久久福利电影 | 亚洲性视频 | 亚洲免费一区二区 | 91亚洲国产成人久久精品网站 | 日韩精品一区二区三区在线播放 | 8x国产精品视频一区二区 |