2017年09月09日
《その21》 繰り返し文(p.105 演習3-8,演習3-9,演習3-10,演習3-11,演習3-12,演習3-13,演習3-14,演習3-15,演習3-16)
新版 明解C++ 入門編 p.105 演習3-8
// p105_演習3-8
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "* の表示個数を入力:"; cin >> n;
for (int i = 0; i < n; i++)
cout << '*';
if (n > 0)
cout << '\n';
}
新版 明解C++ 入門編 p.105 演習3-9
// p095_演習3-9
#include <iostream>
using namespace std;
int main()
{
int x;
do {
cout << "カウントダウンします。正の整数を入力:"; cin >> x;
} while (x <= 0);
for (int i = x; i >= 0; i--) {
cout << i << "\n";
}
}
新版 明解C++ 入門編 p.105 演習3-10
// p105_演習3-10
#include <iostream>
using namespace std;
int main()
{
int n;
do {
cout << "nまでカウントアップ。正の整数nを入力:"; cin >> n;
} while (n <= 0);
for (int i = 0; i <= n; i++) {
cout << i << "\n";
}
}
新版 明解C++ 入門編 p.105 演習3-11
// p105_演習3-11
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "1からnまでの和\n";
do {
cout << "nの値:"; cin >> n;
} while (n < 1);
int sum = 0; // 合計
for (int i = 1; i <= n; i++) {
sum += i;
}
cout << "1から" << n << "までの和は" << sum << "です。\n";
}
新版 明解C++ 入門編 p.105 演習3-12
// p105_演習3-12
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "1からnまでの和\n";
do {
cout << "nの値:"; cin >> n;
} while (n < 1);
int sum = 0; // 合計
for (int i = 1; i <= n; i++) {
cout << i;
sum += i;
if (i < n)
cout << " + ";
}
cout << " = " << sum << '\n';
}
上のコードの
for (int i = 1; i <= n; i++) {
cout << i;
sum += i;
if (i < n)
cout << " + ";
}
cout << " = " << sum << '\n';
の部分を、コンマ演算子(p.99)を使って次のように書き直してみました。
for (int i = 1; (cout << i, sum += i, i < n); i++)
cout << " + ";
cout << " = " << sum << '\n';
書き直したプログラムの全体は、次のようになります。
// p105_演習3-12(別解)
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "1からnまでの和\n";
do {
cout << "nの値:"; cin >> n;
} while (n < 1);
int sum = 0; // 合計
for (int i = 1; (cout << i, sum += i, i < n); i++)
cout << " + ";
cout << " = " << sum << '\n';
}
新版 明解C++ 入門編 p.105 演習3-13
// p105_演習3-13
#include <iostream>
using namespace std;
int main()
{
int n1, n2, nd;
cout << "120cm〜200cmの範囲内の対応表を表示します。\n";
do {
cout << "◆何cmから:"; cin >> n1;
cout << " 何cmまで:"; cin >> n2;
cout << " 何cmごと:"; cin >> nd;
} while (n1 < 120 || n2 < 120 || n1 > 200 || n2 > 200 || n1 > n2 || nd < 1);
cout << "身長 標準体重\n";
for (int i = n1; i < n2; i += nd) {
cout << " " << i << " " << (i - 100) * 0.9 << '\n';
}
cout << " " << n2 << " " << (n2 - 100) * 0.9 << '\n';
}
このプログラムの最後の部分を
for (int i = n1; i < n2; i += nd) {
cout << " " << i << " " << (i - 100) * 0.9 << '\n'; // (*1)
}
cout << " " << n2 << " " << (n2 - 100) * 0.9 << '\n'; // (*2)
のように、わざわざ (*1),(*2) に分けたのは、身長の増分にかかわらす 身長終了値の標準体重が必ず表示されるようにするためです。
新版 明解C++ 入門編 p.105 演習3-14
// p105_演習3-14
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "* の表示個数を入力:"; cin >> n;
for (int i = 0; i < n; i++) {
if (i % 5 == 0 && i > 0) cout << '\n';
cout << '*';
}
if (n > 0)
cout << '\n';
}
新版 明解C++ 入門編 p.105 演習3-15
// p105_演習3-15
#include <iostream>
using namespace std;
int main()
{
int a, n = 0;
do {
cout << "正の整数値を入力:"; cin >> a;
} while (a < 1);
for (int i = 1; i <= a; i++)
if (a % i == 0)
cout << i << '\n', n++;
cout << "約数の個数は " << n << '\n';
}
新版 明解C++ 入門編 p.105 演習3-16
// p105_演習3-16
#include <iostream>
int main()
{
int n = 0;
do {
std::cout << "正の整数値を入力:"; std::cin >> n;
} while (n < 1);
for (int i = 1; i <= n; i++)
std::cout << i << "の2乗は " << i * i << '\n';
}
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6681194
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック