国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
電子工程網
標題:
嵌入式C語言常用18種算法范例
[打印本頁]
作者:
missARM
時間:
2016-3-29 11:13
標題:
嵌入式C語言常用18種算法范例
第一種:冒泡排序法
/*
將uchar niu[8]={1,28,8,4,100,79,89,11}; AD
采用冒泡法進行排序;(兩個for循環嵌套);
****************************************************
編程思路:用最后一個數與前一個數比較,若比前一個數小
則交換位置,然后再與前一個數比較,若比前一個數小再交換
位置,知道比前一個數大或者已經在最前面!如此循環8次就可以排好循序!
*/
#include
#define uchar unsigned char
uchar niu[8]={8,28,6,4,100,79,102,11};
main()
{
uchar a,b,c,j,k;
for(j=0;j<8;j++) //設置循環次數為8
{
for(k=7;k>j;k--) //從最后一個數開始與前一個數比較
{
if(niu[k]
{
c=niu[k-1];
niu[k-1]=niu[k];
niu[k]=c;
}
}
}
for(j=0;j<8;j++)
{
printf("%d\t",niu[j]); //輸出排好的數列
}
printf("\n");
}
更多技術交流歡迎咨詢高老師:3322386182
作者:
missARM
時間:
2016-3-29 11:39
第二種:冒泡法排序2函數調用-地址傳遞
/*
將uchar niu[8]={1,28,8,4,100,79,89,11};
該算法用途:AD采樣時采樣20次,選一個中間值作為最終采樣的值,可以采取該算法。
采用冒泡法進行排序;(兩個for循環嵌套);
****************************************************
編程思路:用最后一個數與前一個數比較,若比前一個數小
則交換位置,然后再與前一個數比較,若比前一個數小再交換
位置,知道比前一個數大或者已經在最前面!如此循環8次就可以排好循序!
*/
#include
#define uchar unsigned char
uchar a,b,c,j,k;
uchar nsd[8]={8,28,6,4,100,79,102,11};
uchar maopao(uchar niu[8]);
uchar maopao(uchar niu[8])
{
for(j=0;j<8;j++) //設置循環次數為8
{
for(k=7;k>j;k--) //從最后一個數開始與前一個數比較
{
if(niu[k]
{
c=niu[k-1];
niu[k-1]=niu[k];
niu[k]=c;
}
}
}
return 0;//這條可以不要,空的
}
void main()
{
maopao(nsd);
for(j=0;j<8;j++)
{
printf("%d\t",nsd[j]); //輸出排好的數列
}
printf("\n");
}
作者:
missARM
時間:
2016-3-29 11:39
更多技術交流歡迎咨詢高老師:3322386182
作者:
missARM
時間:
2016-4-2 17:32
第三種:
/* 檢測字符串是否是回文:
abcba. 如果是返回1.如果不是:0
***************************************************************************
編程思路:用輸入的字符串中的第一個字符與最后一個字符比較,若不相同則跳出比較
當比較的次數與輸入的字符個數的一半相等時 則認為是回文!
*/
#include
#define uchar unsigned char
uchar hw[20];
void main()
{
uchar i,j;
printf("請連續輸入字符串,按回車結束輸入!\n");
for(i=0;i<20;i++) //設置輸入 并記錄輸入個數為i
{
scanf("%c",&hw[i]);
if(hw[i]=='\n') //輸入回車時 結束輸入
{
break;
}
}
for(j=0;j
{
if(hw[j]!=hw[i-j-1]) //比較相對應的字符 若不相等 就跳出循環
//并記錄相同的個數為j
{
break;
}
}
if(j==i/2) //比較輸入個數與匹配次數從而判斷是否為回文
{
printf("您輸入的字符串是回文\n");
}
else
{
printf("您輸入的字符串不是回文\n");
}
}
想學習技術參加培訓(包括模電/數電,單片機,PCBlayout,FPGA,嵌入式ARM,STM32,linux,android等技術培訓課程,有初級,中級,高級課程)可以聯系高老師Q:3322386182
更多學習視頻等你免費學習,歡迎免費注冊信盈達網校http://www.edu118.cn/
作者:
missARM
時間:
2016-4-2 17:35
第四種:添加并排序
/*
有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
************************************************************************
編程思路:將輸入值從左到右開始于數組比較,若小于或等于此數組元素,
則把輸入值存到B數組的相應位置,再把A數組后面的元素傳遞到B數組相應的位置,
若輸入值大于它則把A數組元素傳遞到B數組元素
相應位置,
*/
#include
#define uchar unsigned char
#define uint unsigned int
uchar a[10]={4,6,8,11,28,66,79,100,102},b[10];
main()
{
uint m;
uchar i=0,j,k;
printf("請輸入一個數字!回車結束!\n");
scanf("%d",&m); //輸入值存m
for(j=0;j<9;j++) //從數組左側開始判斷
{
if(m<=a[j]) //若輸入值小于或等于此處數組元素 則把m賦值到b數組相應的位置 再跳出循環
{
b[j]=m;
break;
}
else //若輸入值大于此處的數組元素 則把a數組中的元素傳遞到b的相對位置
b[j]=a[j];
i=i+1; //設置標志位
}
if(i==9) //若輸入值小于數組最大值 則把m賦值到第10個元素
b
=m;
else
{
for(k=0;k<(9-j);k++) //數組元素從a傳遞到b數組
{
b[j+k+1]=a[j+k];
}
}
for(k=0;k<10;k++) //輸出數組b
printf("%d\t",b[k]);
}
想學習技術參加培訓(包括模電/數電,單片機,PCBlayout,FPGA,嵌入式ARM,STM32,linux,android等技術培訓課程,有初級,中級,高級課程)可以聯系高老師Q3322386182更多學習視頻等你免費學習,歡迎免費注冊信盈達網校http://www.edu118.cn/
歡迎光臨 電子工程網 (http://m.qingdxww.cn/)
Powered by Discuz! X3.4
主站蜘蛛池模板:
亚洲精品123区在线观看
|
国产成人亚洲精品老王
|
最新高清无码专区
|
日本免费在线
|
日本乱中文字幕系列在线观看
|
四虎永久视频
|
天天欲色
|
亚洲精品乱码久久久久久麻豆
|
亚欧人成精品免费观看
|
亚洲最新永久观看在线
|
午夜久
|
亚洲精品播放
|
香蕉eeww99国产在线观看
|
亚洲视频免费播放
|
在线播放国产区
|
97碰成视频免费
|
丰满大爆乳波霸奶
|
韩国成人理伦片免费播放
|
久久久久久久电影
|
欧美夜夜噜2017最新
|
色爱AV综合区
|
亚洲成 人a影院青久在线观看
|
亚洲人成影院在线播放
|
在线视频中文字幕
|
亚洲高清视频在线播放
|
四虎影院www
|
欧美高清一级片
|
日本高清视频色
|
天天综合天天做
|
婷婷色综合久久
|
亚洲系列国产精品制服丝袜第
|
又粗又大又爽又紧免费视频
|
91在线一区二区
|
久久精品国产96精品亚洲
|
欧美日韩国产码在线
|
小xav导航
|
亚洲综合色婷婷久久
|
青青青青草
|
婷婷综合缴情亚洲狠狠图片
|
日韩高清成人毛片不卡
|
婷婷久久综合
|