以下のC言語の問題のサンプルプログラムを教えてもらいたいです。よろしくお願いします。
実行例のように,複数の数値を入力し,更にある乗数を入力すると, それらの数値をその乗数倍した値を表示するプログラムを作成せよ.ただし以下の条件を満たすこととする.
複数の数値は問題2と同様に,2〜10個とし,それらの数値は配列に収める. 配列に収められた値を乗数倍するには,以下のような関数 multiply を用いる.
• 関数 multiply は,数値を記録した double 型配列,その配列に 記録された数値の数を示す int 型,乗数となる double 型の値を 引数で受け取る.
• 関数の戻り値はない.
main関数では以下の処理を行う
• 数値の個数の入力
• 数値の入力
• 乗数の入力
• 関数 multiply の呼び出し • 乗数倍された数値の表示
$ ./a.out
数値の数を入力:3⏎
a[0]を入力: 1.2⏎
a[1]を入力: 3.4⏎
a[2]を入力: 5.6⏎
乗数を入力: 2.5⏎
配列aを2.500000倍すると:
a[0] = 3.000000
a[1] = 8.500000
a[2] = 14.000000
No.1ベストアンサー
- 回答日時:
#include <stdio.h>
#include <stdlib.h>
void multiply(double arr[], int size, double n) {
int i;
for (i = 0; i < size; i++) {
arr[i] *= n;
}
}
int main(void) {
char s0[3], s1[4];
int i, size;
double* a, n;
while (1) {
printf("数値の数を入力:");
scanf("%2s%*[^\n]%*c", s0);
size = atoi(s0);
if (size < 2 || size > 10) {
continue;
} else {
break;
}
}
a = (double*)malloc(sizeof(double) * size);
for (i = 0; i < size; i++) {
printf("a[%d]を入力: ", 0);
scanf("%3s%*[^\n]%*c", s1);
a[i] = atof(s1);
}
printf("乗数を入力: ");
scanf("%3s%*[^\n]%*c", s1);
n = atof(s1);
printf("配列aを%lf倍すると:\n", n);
multiply(a, size, n);
for (i = 0; i < size; i++) {
printf("a[%d] = %lf\n", i, a[i]);
}
free(a);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
*をユーザーが入力した数字の数...
-
Eclipseコンソール表示を、リセ...
-
Userformの入力順序をタブオー...
-
scanfが2回使えない・・・?;
-
C++のcinの動作
-
C言語でつるかめ算をするにはど...
-
MinGWのC言語でCTRL+Zで処理が...
-
cout関数を使っているのですが...
-
プログラミング初心者です。 Py...
-
意味のよく分らないソース
-
getc 等の違い
-
C言語について
-
2進数の1の数を数える問題
-
C言語で入門の本を読んだあとは...
-
double型が正常に認識されてい...
-
scanfの入力をgets関数で読み捨...
-
漢字のソートについて
-
C言語 入力した値から0までの数...
-
WindowsでEOF
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報