問題① 2つの整数を受け取り、両方を足し合わせた結果を出力するプログラムを作ってください。
たとえば次のように書けます。
#include <stdio.h>
int main(void)
{
("Please enter the two integers.");
putschar input_string[40];
(input_string, sizeof(input_string), stdin);
fgetsint num1;
int num2;
(input_string, "%d %d", &num1, &num2);
sscanf
("%d\n", num1 + num2);
printf}
実行結果:
Please enter the two integers.
10 20 <-- 入力された文字列
30
問題② 入力された整数を3乗した結果を出力するプログラムを作ってください。
たとえば次のように書けます。
#include <stdio.h>
int main(void)
{
("Please enter the integer.");
putschar input_string[40];
(input_string, sizeof(input_string), stdin);
fgetsint num;
(input_string, "%d", &num);
sscanf
("%d\n", num * num * num);
printf}
実行結果:
Please enter the integer.
10 <-- 入力された文字列
1000
非常に大きい値を入力されると、おかしな結果になりますが、今のところは無視していいでしょう。
問題③ 標準入力から秒数を受け取り、それを時・分・秒に変換して出力するプログラムを書いてください。
除算と剰余を使えば、秒数から変換することが可能です。
#include <stdio.h>
int main(void)
{
("Please enter the seconds.");
putschar input_string[20];
(input_string, sizeof(input_string), stdin);
fgetsint second;
(input_string, "%d", &second);
sscanf
// ○:○:○ のような形で出力する
("%d:", second / 3600);
printf("%d:", second % 3600 / 60);
printf("%d", second % 60);
printf("\n");
printf}
実行結果:
Please enter the seconds.
5432 <-- 入力された秒数
1:30:32
問題④ “x y z” という文字列には、何文字含まれていますか?(x と y の間と、y と z の間に半角の空白文字があります)
文字列の末尾にヌル文字が隠れていることを忘れないようにしてください。半角の空白文字も当然 1文字にカウントされますから、全部で 6文字あります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |