質問編集履歴

2 貨幣単位を金種と追記いたしました。

tomo3

tomo3 score 48

2016/02/25 16:19  投稿

【C言語の質問です】数値を貨幣単位に分解するプログラムの作成・・
*たくさんの方よりご指摘をいただけてとてもありたいです。
引き続き、よろしくお願い致します。
C言語を勉強している初心者のものです。
今課題をいただき、その作成をしております。
先日提出(全18問)したのですが、大部分が間違っているので、
再度問題を見なおした上で提出してくれと言われてしまいました。
今回は課題なので、間違っている点を教えていただけませんでした。
個人的には、どの辺りが間違っているのかわからないため、
客観的な視点が欲しく、今回ご相談させていただきました。
18問の中の1つですが、
ソースが問題文との趣旨と外れているようでしたら
ご指摘いただけますと幸いです。
【問題】
入力した数値を貨幣単位に分解し、
入力した数値を貨幣単位(金種)に分解し、
それぞれの通貨が何枚必要かを表示するプログラムを作成せよ。
例)「12345」と入力した場合
10000円:1枚
5000円:0枚
1000円:2枚
500円:0枚
100円:3枚
50円:0枚
10円:4枚
5円:1枚
1円:0枚
【回答】
```
#include <stdio.h>
int main (void)
{
   int yen, th10, th5, th, hand5, hand, ten5, ten, five , one;
   printf("金額を入力してください。");
   scanf("%d", &yen);
   
   if(yen <= 0)
   {
       printf("整数で再度入力してください");
       
       return 0;
   }
   
   th10 = yen / 10000;
   yen = yen % 10000;
   th5 = yen / 5000;
   yen = yen % 5000;
   th = yen / 1000;
   yen = yen % 1000;
   hand5 = yen / 500;
   yen = yen % 500;
   hand = yen / 100;
   yen = yen % 100;
   ten5 = yen / 50;
   yen = yen % 50;
   ten = yen / 10;
   yen = yen % 10;
   five = yen / 5;
   one = yen % 5;
   
   printf("10000円札は%d枚です。\n", th10);
   printf(" 5000円札は%d枚です。\n", th5);
   printf(" 1000円札は%d枚です。\n", th);
   printf(" 500円玉は%d枚です。\n", hand5);
   printf(" 100円玉は%d枚です。\n", hand);
   printf("  50円玉は%d枚です。\n", ten5);
   printf("  10円玉は%d枚です。\n", ten);
   printf("   5円玉は%d枚です。\n", five);
   printf("   1円玉は%d枚です。\n", one);
   return 0;
}
```
  • C++

    4522 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • C

    4657 questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

1 ご指摘いただいた例文を変更いたしました。

tomo3

tomo3 score 48

2016/02/25 16:16  投稿

【C言語の質問です】数値を貨幣単位に分解するプログラムの作成・・
*たくさんの方よりご指摘をいただけてとてもありたいです。
引き続き、よろしくお願い致します。
C言語を勉強している初心者のものです。
今課題をいただき、その作成をしております。
先日提出(全18問)したのですが、大部分が間違っているので、
再度問題を見なおした上で提出してくれと言われてしまいました。
今回は課題なので、間違っている点を教えていただけませんでした。
個人的には、どの辺りが間違っているのかわからないため、
客観的な視点が欲しく、今回ご相談させていただきました。
18問の中の1つですが、
ソースが問題文との趣旨と外れているようでしたら
ご指摘いただけますと幸いです。
【問題】
入力した数値を貨幣単位に分解し、
それぞれの通貨が何枚必要かを表示するプログラムを作成せよ。
例)「12345」と入力した場合
10000円:1枚
5000円:0枚
1000円:2枚
500円:0枚
100円:3枚
50円:0枚
10円:4枚
5円:0枚
1円:5枚
5円:1枚
1円:0枚
【回答】
```
#include <stdio.h>
int main (void)
{
   int yen, th10, th5, th, hand5, hand, ten5, ten, five , one;
   printf("金額を入力してください。");
   scanf("%d", &yen);
   
   if(yen <= 0)
   {
       printf("整数で再度入力してください");
       
       return 0;
   }
   
   th10 = yen / 10000;
   yen = yen % 10000;
   th5 = yen / 5000;
   yen = yen % 5000;
   th = yen / 1000;
   yen = yen % 1000;
   hand5 = yen / 500;
   yen = yen % 500;
   hand = yen / 100;
   yen = yen % 100;
   ten5 = yen / 50;
   yen = yen % 50;
   ten = yen / 10;
   yen = yen % 10;
   five = yen / 5;
   one = yen % 5;
   
   printf("10000円札は%d枚です。\n", th10);
   printf(" 5000円札は%d枚です。\n", th5);
   printf(" 1000円札は%d枚です。\n", th);
   printf(" 500円玉は%d枚です。\n", hand5);
   printf(" 100円玉は%d枚です。\n", hand);
   printf("  50円玉は%d枚です。\n", ten5);
   printf("  10円玉は%d枚です。\n", ten);
   printf("   5円玉は%d枚です。\n", five);
   printf("   1円玉は%d枚です。\n", one);
   return 0;
}
```
  • C++

    4522 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • C

    4657 questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る