1.先定義三個整形變量a,b,t.其中a,b用於儲存輸入的兩個值,t(爲了與a,b方便區分用了t做爲中間值)則做爲中間變量用於a,b間的轉換。
2.輸入a,b的值
3.將a賦值給t
a賦值給b
t賦值給a
4.最終輸出a,bc++
此題我還嘗試了其餘的方法,我共搜到三種數組
1.定義整形變量n(做爲輸入值),i,j(i,j都作爲循環結構的條件)
2.輸入n的值,
3.分狀況討論(由於在我剛開始提交的過程當中沒注意到存在最小值的狀況,後來注意到了pta的錯誤提示,才注意到了最小值存在的狀況,因此我就分狀況討論了)學習
2若a=1,則直接輸出1設計
部分正確是由於以前最初沒考慮到最小值的存在(下面附圖修改過程)
可是仍是沒正確,上面一步還多考慮了n=0(多餘的)繼續。。。
3d
再繼續
調試
1.定義整形變量a,b分別用於計算中的輸入值
2.定義字符變量c,用於儲存運算符
3.- 1若輸入+,則進行a,b的和運算blog
看這個樣例1+2*10-10/2=,涉及到數字和字符,涉及到運算符優先級等等問題。就再去看了一遍書並在dev c++上修改了屢次,特別是輸出ERROR這塊很差弄。排序
定義方式:數組能夠用一個初始列表值來初始化,數組能夠用一個初始列表值來初始化隊列
數組名通常來講是常量存放在常量區內存
使用數組會讓程序變的簡單,並且避免了定義多個變量的麻煩
int swap(int a,int b)
{
int t=a;
a=b;
b=t;
}
冒泡排序的原理:每次在無序隊列裏將相鄰兩個數依次進行比較,將小數調換到前面,
逐次比較,直至將最大的數移到最後。最將剩下的N-1個數繼續比較,將次大數移至倒數第二位。
依此規律,直至比較結束。
冒泡排序的代碼以下:
void bubble_sort(int a[], int n){
int i,j;
for(i=0;i<n-1;++i)
for(j=0;j<n-i-1;++j)
{
if(a[j]>a[j+1])
swap(&a[j],&a[j+1]);
}
}
選擇排序的原理:每次在無序隊列中「選擇」出最小值,放到有序隊列的最後,並從無序隊列
中去除該值(具體實現略有區別)。
選擇排序的代碼以下:
void selection_sort(int a[],int n){
int i,j;
int min;
for(i=0;i<n;++i)
{
min=i;
for(j=i+1;j<n;++j)
{
if(a[j]<a[min])
min=j;
}
if(min!=i)
swap(&a[min],&a[i]);
}
}
插入排序的原理:始終定義第一個元素爲有序的,將元素逐個插入到有序排列之中,其特色是要不斷的
移動數據,空出一個適當的位置,把待插入的元素放到裏面去。
插入排序的代碼以下:
void
insertion_sort(int a[], int n)
{
int i, j, num;
for (i = 1; i < n; ++i) {
num = a[i];
for (j = i - 1; j >= 0 && a[j] > num; --j)
a[j+1] = a[j];
a[j+1] = num;
}
}
1.對比順序查找就是順序的一個一個的比下去..1和二、1 和三、1和4...1和n2.二分查找就是先和最中間的元素比較 大於此元素時將起始下標設置爲此元素下表 繼續和右邊的中間元素比較,直到查找成功位置 相反小於則和左邊的比較(默認數組一從小到大排序完整)
1.在定義時能夠直接賦值來初始化
2.在定義後能夠爲其元素一個個來賦值
轉置可將i與j的位置對換
下三角:i<=j 。
上三角:i>=j。
對稱矩陣:a[i][j]=a[j][i]。
主要用於表示二維表和矩陣