Ⅰ 求C語言常用經典演算法
前面那些沒意思,就好象數學里的 1+1=2一樣 全是公式,還是往後學吧 ,多練練,指針 才是關鍵
Ⅱ C語言有哪些常用演算法稍微介紹一些常用的 我知道的有 二分法,冒泡排序,選擇排序,插入排序這
二分法,冒泡 這些只是基礎知識
演算法沒有說常用不常用,演算法是完成程序功能的設計思路,面對不同的功能,不同的需求,不同的程序員會有不同的演算法,這個是不可言傳只可意會的東西。
多寫多總結,多看看成熟的程序是怎麼寫的,慢慢就能提升自身的能力了。
Ⅲ C語言中基本的幾種演算法有哪些越多越好!就像打擂台演算法'冒泡排序法等等...
排序演算法
冒泡排序
選擇排序
快速排序
高精度運算
存儲方法
加法運算
減法運算
乘法運算
擴大進制數
習題與練習
搜索演算法
枚舉演算法
深度優先搜索
廣度優先搜索
8數碼問題
n皇後問題
搜索演算法習題
枚舉法習題
聰明的打字員
量水問題
染色問題
跳馬問題
算24點
圖論演算法
最小生成樹演算法(Prim演算法)
單源最短路徑演算法(Dijkstra演算法)
任意結點最短路徑演算法(Floyd演算法)
求有向帶權圖的所有環
Bellman-Ford演算法
計算圖的連通性
計算最佳連通分支
計算拓撲序列
圖論演算法習題
網路建設問題
最短變換問題
挖地雷
烏托邦城市
烏托邦交通中心
動態規劃
最短路徑問題
動態規劃概念
騎士游歷問題
最長遞增子序列
合唱隊形
石子合並問題
能量項鏈
0/1背包問題
開心的金明
金明的預算方案
加分二叉樹
字串編輯距離
花瓶插花
凸多邊形三角劃分
快餐店
Ⅳ 編寫簡單的單片機c語言程序 1、指定數組找最大值 2、排序
#include<stdio.h>
#defineNR10//數組元素個數
/*從主函數開始*/
intmain(intargc,char**argv)
{
intar[NR];
inti;
fprintf(stdout,"請輸入%d個整數: ",NR);
/*獲取並檢查用戶輸入*/
while(1)
{
/*循環獲取NR個數據*/
for(i=0;i<NR;i++)
{
if(fscanf(stdin,"%d",&ar[i])!=1)
{
fprintf(stdout,"輸入錯誤!請重新輸入: ");
while(getchar()!=' ');//丟棄多餘非法字元
break;//打破內層for循環
}
}
/*檢查是否獲取到NR個數據*/
if(i!=NR)
{
continue;
}
else
{
break;
}
}
/*查找最大值和最小值*/
intmax,min;
max=ar[0];//假定第一個數為最大值
min=ar[0];//同時假定也第一個數為最大值
/*從第二個數開始比較查找最值*/
for(i=1;i<NR;i++)
{
if(ar[i]>max)//最大值
{
max=ar[i];
}
if(ar[i]<min)//最小值,不能使用elseif,否則會跳過比較
{
min=ar[i];
}
}
fprintf(stdout,"最大值為:%d最小值為:%d ",max,min);
/*接下來:查找第二大值*/
intsecond;
/*先獲取前兩個數的第一大和第二大值*/
ar[0]>ar[1]?(max=ar[0],second=ar[1]):
(max=ar[1],second=ar[0]);
/*從第2個數開始比較查找*/
for(i=2;i<NR;i++)
{
if(ar[i]>max)//查找最大值:目的是為了比較第二大值
{
second=max;//先把最大值保存給第二大值
max=ar[i];
}
elseif(second<ar[i])//比最大值小的數再看看是否大於第二大值
{
second=ar[i];
}
}
fprintf(stdout,"第二大值為:%d ",second);
return0;
}
(4)單片機c語言常用演算法擴展閱讀
一、c語言程序求數組內所有數的和:
1、通過索引的方式就可以訪問到數組內部的元素,索引是從0到數組長度-1。
2、數組點Lenth就是數組的長度。
二、c語言程序冒泡排序:
1、比較相鄰的兩個元素的大小,如果第一個比第二個大就互換一下。
2、然後每一對都做如上操作,如此一來最後一個元素肯定是最大的數了。
3、除了最後一個元素,重復以上步驟。然後倒數第二個就是次大的值了
4、一次按照這個邏輯直到沒有任何數字可以比較了。
Ⅳ 單片機C語言PID自整定演算法
就是一般的排序演算法,與查找演算法一樣,這個的都不會嗎floata[3],max=0;for(i=0;i<=2;i++){printf("Pleaseenterthemark:");scanf("%f",&a[i]);if(maxintsort(intnum[5]);voidmain(){intnumm[5],i,a;for(i=0;i<5;i++)scanf("%d",&numm[i]);sort(numm);//調用排序for(i=0;i<5;i++)printf("%d",numm[i]);}intsort(intnum[5]){intm,n,t;for(m=0;m<4;m++)for(n=m+1;n<5;n++)//冒泡排序{if(num[m]
Ⅵ 求C語言常用經典演算法
既然是初學者,也沒必要總結什麼常用演算法,只要把已經學到過的演算法總結一下編出相應的程序就可以了,還沒學到的總結了也未必知道什麼意思。
Ⅶ c語言演算法有哪些
這里整理c語言常用演算法,主要有:
交換演算法
查找最小值演算法
冒泡排序
選擇排序
插入排序
shell排序 (希爾排序)
歸並排序
快速排序
二分查找演算法
查找重復演算法
Ⅷ C語言基本演算法
1.輸入語句:scanf("控制格式",接受值列表),其中控制格式常用的有:%d,%c,%s,%f,分別
表示整型,字元型,字元串和浮點型.
例如int
a;char
c;scanf("%d
%c",&a,&c);表示向a和c輸入值
2.賦值語句:=號,如將b賦值為10,為b=10
3.條件:if(布爾表達式){程序}else{程序}(注:此結構可嵌套)
switch(離散量){case
常量:...;case
常量:...}
例:int
a;scanf("%d",&a);
if(a>10)
{printf("大於10");}
else
{printf("小於10")}
例:switch(months)
{
case
1:printf("1月有31天");break;
case
3:printf("3月有31天");break;
....
default:break;
}
4.循環:for結構,while結構,do-while結構
for(初始化;判斷;變化)
{
}
while(條件)
{
}
do
{
}while(條件)
Ⅸ 單片機C語言有哪些常用函數和指令
1、if()...else...;條件語句
2、for()...;循環語句
3、while()...;循環語句
4、do...while();循環語句
5、continue;結束本次循環語句
6、break;終止執行循環語句
7、switch;多分支選擇語句
8、goto;跳轉語句
9、return;從函數返回語句
就這么多