我在書中的解決方案中發現了一個錯誤,下面的解決方案是按照要求使用指標符號來訪問陣列,但列印出來的結果不是奇數,相反,它列印的是1到50和50-1。
最初的指示。撰寫一個程式,宣告并初始化一個包含前50個奇數(即非偶數)的陣列。使用指標符號將陣列中的數字10個輸出到一行,然后以相反的順序輸出,也使用指標符號。
下面附上書中錯誤的解決方案,感謝您的幫助:
//在陣列中存盤奇數并使用指標符號訪問它們。
int main()
{
const size_t n {50};
size_t odds[n];
for (size_t i {}; i < n; i)
odds[i] = i 1;
const size_t perline {10}。
std::cout << "這些數字是。
"。
for (size_t i {}; i < n; i)
{
std::cout << std::setw(5) << *(odds i)。
if ((i 1) % perline == 0)
std::cout << std::endl;
}
std::cout << "
按照相反的順序,這些數字是。
"。
for (int i {n - 1}; i >= 0; --i)
{
std::cout << std::setw(5) << *(賠率 i)。
if (i % perline == 0)
std::cout << std::endl;
}
uj5u.com熱心網友回復:
只要寫
for (size_t i = 0; i < n; i)
{
odds[i] = 2 * i 1;
}
最后一個回圈重寫,使用i型別size_t的變數
for ( size_t i = n; i != 0; --i )
{
std::cout << std::setw(5) << *(odds i - 1 ) 。
if (i % perline == 0)
std::cout << std::endl;
}
或者像
for ( size_t i = n; i-- != 0; )
{
std::cout << std::setw(5) << *(odds i ) 。
if (i % perline == 0)
std::cout << std::endl;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/328912.html
標籤:
上一篇:datetime.timestamp與1970年以來的秒數不一樣
下一篇:不了解病情
