本周一直在洛谷上刷題,通過刷題來學習與鞏固c語言以及python所學習的知識,于是便將幾道比較有意思的題目整理出來,
一丶冒泡排序

這周通過做題而去學習了冒泡排序
冒泡排序是一種計算機科學領域的較簡單基礎的排序演算法,其基本思路是,對于一組要排序的元素列,依次比較相鄰的兩個數,將比較小的數放在前面,比較大的數放在后面,如此繼續,直到比較到最后的兩個數,將小數放在前面,大數放在后面,重復步驟,直至全部排序完成,
上代碼
#include<stdio.h>
int main(void)
{
int a[10],i,j;
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<2;i++)
{
for(j=0;j<3-i-1;j++)
{
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<3;i++)
{
printf("%d ",a[i]);
}
}
本周學習了回圈與陣列并通過演算法題來鞏固了這些基礎知識,在學c的同時也將python更好的鞏固了一下,
二丶關于雞兔同籠問題使用python的不同解法,
1.公式法(通過解方程的公式推導直接求解),
tou=int(input("請輸入頭的數量="))
tui=int(input("請輸入腿的數量="))
y=(tui-2*tou)/2
x=tou-y
print("雞的數量為=%d"%x)
print("兔子的數量為=%d"%y)
2.for回圈法
a=int(input("頭:"))
b=int(input("腿:"))
for i in range(0,a+1):
tu=i
ji=a-i
if tu*4+ji*2==b:
print("兔子:",tu)
print("雞:",ji)
三丶求最大蓄水量,

a=[1,8,6,2,5,4,8,3,7]
water=[]#該串列用于記錄所有可能的蓄水量
for i in range(len(a)-1):#從第一個數字取到倒數第二個數字
b=a[i]
for j in range(i+1,len(a)):#從上一個回圈取到數字的下一個數字一直到串列最后一個數字
#兩次回圈中所取串列數字誰比較小就將誰作為容器的高度
if a[i]<=a[j]:
water.append(a[i]*(j-i))
else:
water.append(a[j]*(j-i))
print(max(water))#選出最大的蓄水量
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230730.html
標籤:python
上一篇:力扣7.整數反轉
