至急お願いします。プログラミングの問題です。
最初に正の整数nの入力を受け付け、次に分数の分子と分母を意味する整数のn組の入力を受け付けて、全部の分数の和の「式と結果」を出力するプログラムex14-3.cを完成させよ。少なくとも入出力例3と全く同じ入出力を再現すること。入力値は正の整数のみを考えれば良い。表示される分数は約分されなくて良い。分母が1の時でも分数表現のままで良い。ただしex14-3.cの作成にあたっては以下の条件を満たすこと。
・main関数の中は、追記しかできず(削除できない)追記箇所は//の左側のみとする。printf文は追記できない。
・main関数の外にも追記してよく、こちらはprintf文も追記できるが、グローバル変数、実数、は用いらないこと。
入出力例3
n:
3(ここは入力例)
x1:
1(ここは入力例)
y2:
2(ここは入力例)
x2:
3(ここは入力例)
y2:
4(ここは入力例)
x3:
5(ここは入力例)
y3:
6(ここは入力例)
1/2+3/4+5/6=100/48
ex14-3.c
#include <stdio.h>
int main(void)
{
int i,n;
//
printf(“n:\n”);
scanf(“%d”,&n);
//
for(i=0;i<n;i++)
{
printf(“x%d:\n”,i+1);
//
printf(“y%d:\n”,i+1);
//
}
sum(n,z);
//
return 0;
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
2次元配列嫌い(理解できてない)のと、n の上限が指定されていないので、仕方なく。
プログラムが終わる時の free() はしない派。
#include <stdio.h>
#include <stdlib.h>
struct bunsu
{
int bunshi;
int bunbo;
};
struct bunsu add(struct bunsu a, struct bunsu b)
{
struct bunsu result;
result.bunbo = a.bunbo * b.bunbo;
result.bunshi = a.bunshi * b.bunbo + a.bunbo * b.bunshi;
return result;
}
void sum(int n, struct bunsu *z)
{
struct bunsu wk = {0, 1};
for (int i = 0; i < n; i++)
{
printf("%d/%d", z[i].bunshi, z[i].bunbo);
if (i != n - 1) printf("+");
wk = add(wk, z[i]);
}
printf("=%d/%d\n", wk.bunshi, wk.bunbo);
}
int main(void)
{
int i,n;
struct bunsu *z;
//
printf("n:\n");
scanf("%d",&n);
z = malloc(sizeof(struct bunsu) * n);
for(i=0;i<n;i++)
{
printf("x%d:\n",i+1);
scanf("%d", &z[i].bunshi);
printf("y%d:\n",i+1);
scanf("%d", &z[i].bunbo);
}
sum(n,z);
//
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 malloc 関数を使って教えてください。 入出力例1 3 2022/07/21 09:36
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
ワードで文字を入力する時の変...
-
*をユーザーが入力した数字の数...
-
scanfが2回使えない・・・?;
-
Linuxで入力待ちなしkeyread関...
-
入力値が1以下、かつ数字以外の...
-
プログラム(C)
-
java初心者です。入力されたの...
-
java 入力された文字列を数値に...
-
プログラミングの問題です 「金...
-
"scanf"でエンターで改行させな...
-
getchar()について 教えてくだ...
-
プログラミング初心者です。 Py...
-
c言語でひらがなのしりとりをで...
-
Userformの入力順序をタブオー...
-
C言語・標準入力でquitを入力で...
-
IF文で戻ることはできますか?...
-
scanf関数 バッファに残ったエ...
-
プログラムC言語の整数の約数に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
double型が正常に認識されてい...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
C言語について。
-
batプログラム上で文字列を入力...
-
*をユーザーが入力した数字の数...
-
cout関数を使っているのですが...
-
漢字のソートについて
-
数字以外が入力されたらエラー...
-
Userformの入力順序をタブオー...
-
ワードで文字を入力する時の変...
-
Linuxで入力待ちなしkeyread関...
-
java初心者です。入力されたの...
-
EDITコントロールで入力できる...
-
Eclipseコンソール表示を、リセ...
-
小数か整数かを判定する方法
-
C言語scanf_sで何故か2回入力に...
-
VB.NETで16進数+16進数や16進...
-
Linuxプログラミングで、キーボ...
おすすめ情報