用冒泡排序法对任意输入的 10 个数按照从小到大的顺序进行排序。
#include <stdio.h>
#include <math.h>
int main() {
int arr[10],temp=0;
for (int i = 0;i < 10;i++) {
arr[i] = rand() % 20+1;// 随机存入1到20之间的一个数
}
printf("初始数列:\n");
for (int i = 0;i < 10;i++) {
printf("%5d",arr[i]);
}
for (int i = 0;i < 9;i++) {
for (int j = 0;j < 9 - i;j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("\n冒泡排序后的数列:\n");
for (int i = 0;i < 10;i++) {
printf("%5d",arr[i]);
}
return 0;
}
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。
int main() {
int total = 1;
for (int i = 0;i < 9;i++) {
total = (total + 1) * 2; // 从最后一天向前推,第n天的数量加一在乘二为n-1天的数量
}
printf("total = %d\n", total);
return 0;
}