• ベストアンサー

C言語について

この3つのプログラムを作成してください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

/* 課題1 */ #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #define N 5 char* msgs[] = {"二つの整数を入力してください\n", "整数1 : ", "整数2 : ", "それらの和は%" PRId16 "です。\n", "それらの積は%" PRId16 "です。\n"}; int main(void) { char a[5]; int16_t v[2] = {0}; for (size_t i = 0; i < N; i++) { if (i < 3) { printf("%s", msgs[i]); if (i != 0) { scanf("%4s%*[^\n]", a); getchar(); v[i - 1] = strtol(a, NULL, 10); } } else { printf(msgs[i], (i == 3) ? v[0] + v[1] : v[0] * v[1]); } } return EXIT_SUCCESS; } /* 課題2 */ #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #define N 6 char* msgs[] = {"三つの整数を入力してください\n", "整数1 : ", "整数2 : ", "整数3 : ", "それらの和は%" PRId16 "です。\n", "それらの積は%" PRId16 "です。\n"}; int main(void) { char a[5]; int16_t v[3] = {0}; for (size_t i = 0; i < N; i++) { if (i < 4) { printf("%s", msgs[i]); if (i != 0) { scanf("%4s%*[^\n]", a); getchar(); v[i - 1] = strtol(a, NULL, 10); } } else { printf(msgs[i], (i == 4) ? v[0] + v[1] + v[2] : v[0] * v[1] * v[2]); } } return EXIT_SUCCESS; } /* 課題3 */ #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #define N 5 char* msgs[] = {"直方体の体積を求めます\n", "縦の長さ : ", "横の長さ : ", "高さ : ", "体積は%" PRId16 "です。\n",}; int main(void) { char a[5]; int16_t v[3] = {0}; for (size_t i = 0; i < N; i++) { if (i < 4) { printf("%s", msgs[i]); if (i != 0) { scanf("%4s%*[^\n]", a); getchar(); v[i - 1] = strtol(a, NULL, 10); } } else { printf(msgs[i], v[0] * v[1] * v[2]); } } return EXIT_SUCCESS; }

関連するQ&A