題一:喝水問題,一塊錢可以換1瓶水,2個空瓶可以換1瓶水,給你對應的錢數求能喝的水數:
int main()
{
int money = 0;//錢
int total = 0;//喝水瓶
int empty = 0;//空瓶
scanf("%d", &money);
total += money;
empty += total;
while (empty > 1)
{
total += empty/2;
empty = empty / 2 + empty % 2;
}
printf("%d", total);
return 0;
}
當然也可以另一種方法,我們可以發現一個規律,喝水數是2monney-1瓶,可以按這個直接寫公式,
題二:給你一個陣列,如何讓奇數排在前面,偶數排在后面?
//奇數在前面 偶數在后面
void print(int arr[], int sz)
{
for (int i = 0; i < sz; i++)
{
printf("%d", arr[i]);
}
printf("\n");
}
void move(int* left, int sz)
{
int* right = left + sz - 1;
while (left < right)
{
while (((*left) % 2 != 0) && (left < right)) //找是不是偶數
{
left++;
}
while (((*right) % 2 == 0) && (left < right)) //找是不是奇數
{
right--;
}
//注意都要寫left<right,小心越界以及死回圈
if (left < right) //交換
{
int tmp = *left;
*left = *right;
*right = tmp;
}
}
}
int main()
{
int arr[10] = { 1,3,2,4,8,7,9,5,6,0 };
int sz = sizeof(arr) / sizeof(arr[0]);
print(arr, sz); //列印移動前
move(arr, sz); //移動
print(arr, sz); //列印移動后
return 0;
}
最后:感謝您的觀看!
感謝您的支持!
如果沒有關注的話就來個關注吧!你的支持是作者寫作的最大動力!
謝謝!!!
作者這兩天終于忙完了哈!可以繼續更新啦!!!久等啦!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374848.html
標籤:其他
