パターン1 : 整数変数の演算結果の小数以下が切り捨てられるのを利用する |
|
#include "stdio.h"
void main()
{
// 変数定義
long Kin;
long Man,Sen_5,Sen_2,Sen_1,Hyak_5,Hyak_1,Jyu_5,Jyu_1,Go,Ichi;
// 初期化
Man = 0;
Sen_5 = 0;
Sen_2 = 0;
Sen_1 = 0;
Hyak_5 = 0;
Hyak_1 = 0;
Jyu_5 = 0;
Jyu_1 = 0;
Go = 0;
Ichi = 0;
// 入力
scanf( "%ld", &Kin );
// 一万円
Man = Kin / 10000;
Kin = Kin - Man * 10000;
// 5千円
Sen_5 = Kin / 5000;
Kin = Kin - Sen_5 * 5000;
// 2千円
Sen_2 = Kin / 2000;
Kin = Kin - Sen_2 * 2000;
// 千円
Sen_1 = Kin / 1000;
Kin = Kin - Sen_1 * 1000;
// 5百円
Hyak_5 = Kin / 500;
Kin = Kin - Hyak_5 * 500;
// 百円
Hyak_1 = Kin / 100;
Kin = Kin - Hyak_1 * 100;
// 50円
Jyu_5 = Kin / 50;
Kin = Kin - Jyu_5 * 50;
// 10円
Jyu_1 = Kin / 10;
Kin = Kin - Jyu_1 * 10;
// 5円
Go = Kin / 5;
Kin = Kin - Go * 5;
// 1円
Ichi = Kin;
// 表示
printf( "一万円は %ld 枚\n", Man );
printf( "5千円は %ld 枚\n", Sen_5 );
printf( "2千円は %ld 枚\n", Sen_2 );
printf( "1千円は %ld 枚\n", Sen_1 );
printf( "500円は %ld 枚\n", Hyak_5 );
printf( "100円は %ld 枚\n", Hyak_1 );
printf( "50円は %ld 枚\n", Jyu_5 );
printf( "10円は %ld 枚\n", Jyu_1 );
printf( "5円は %ld 枚\n", Go );
printf( "1円は %ld 枚\n", Ichi );
}
|
パターン2 : C で利用できる演算の書き方を使う |
|
<div id="sh_527ba0412d332">
<style type="text/css">
.syntaxhighlighter {
word-wrap:break-word!important;
}
#sh_527ba0412d332 .syntaxhighlighter div,#sh_527ba0412d332 .syntaxhighlighter span,#sh_527ba0412d332 .syntaxhighlighter code {
font-size:12px!important;
font-family: "メイリオ","MS Pゴシック"!important;
}
</style>
<div style='width:600px;'>
<pre name="code131107231425" class="brush:cpp">
#include "stdio.h"
void main()
{
// 変数定義
long Kin;
long Man,Sen_5,Sen_2,Sen_1,Hyak_5,Hyak_1,Jyu_5,Jyu_1,Go,Ichi;
// 初期化
Man = 0;
Sen_5 = 0;
Sen_2 = 0;
Sen_1 = 0;
Hyak_5 = 0;
Hyak_1 = 0;
Jyu_5 = 0;
Jyu_1 = 0;
Go = 0;
Ichi = 0;
// 入力
scanf( "%ld", &Kin );
// 一万円
Man = Kin / 10000;
Kin = Kin - Man * 10000;
// 5千円
Sen_5 = Kin / 5000;
Kin = Kin - Sen_5 * 5000;
// 2千円
Sen_2 = Kin / 2000;
Kin = Kin - Sen_2 * 2000;
// 千円
Sen_1 = Kin / 1000;
Kin = Kin - Sen_1 * 1000;
// 5百円
Hyak_5 = Kin / 500;
Kin = Kin - Hyak_5 * 500;
// 百円
Hyak_1 = Kin / 100;
Kin = Kin - Hyak_1 * 100;
// 50円
Jyu_5 = Kin / 50;
Kin = Kin - Jyu_5 * 50;
// 10円
Jyu_1 = Kin / 10;
Kin = Kin - Jyu_1 * 10;
// 5円
Go = Kin / 5;
Kin = Kin - Go * 5;
// 1円
Ichi = Kin;
// 表示
printf( "一万円は %ld 枚\n", Man );
printf( "5千円は %ld 枚\n", Sen_5 );
printf( "2千円は %ld 枚\n", Sen_2 );
printf( "1千円は %ld 枚\n", Sen_1 );
printf( "500円は %ld 枚\n", Hyak_5 );
printf( "100円は %ld 枚\n", Hyak_1 );
printf( "50円は %ld 枚\n", Jyu_5 );
printf( "10円は %ld 枚\n", Jyu_1 );
printf( "5円は %ld 枚\n", Go );
printf( "1円は %ld 枚\n", Ichi );
}
</pre>
</div>
</div>
<script type="text/javascript">
dp.SyntaxHighlighter.HighlightAll("code131107231425");
</script>
|
|
#include "stdio.h"
void main()
{
// 変数定義
long Kin;
long Kinsyu[10];
long Tani[10];
long Amari;
long i;
// 初期化
for( i = 0; i < 10; i++ ) {
Kinsyu[i] = 0;
}
Tani[0] = 10000;
Tani[1] = 5000;
Tani[2] = 2000;
Tani[3] = 1000;
Tani[4] = 500;
Tani[5] = 100;
Tani[6] = 50;
Tani[7] = 10;
Tani[8] = 5;
Tani[9] = 1;
// 入力
scanf( "%ld", &Kin );
for( i = 0; i < 9; i++ ) {
Amari = Kin % Tani[i];
Kinsyu[i] = ( Kin - Amari ) / Tani[i];
Kin = Amari;
}
// 1円
Kinsyu[9] = Kin;
// 表示
for( i = 0; i < 10; i++ ) {
printf( "%ld 円は %ld 枚\n", Tani[i], Kinsyu[i] );
}
}
|
|
#include "stdio.h"
#include "memory.h"
#include "stdlib.h"
void main()
{
// 変数定義
long nKin;
long nKinsyu[10+1];
long nTani[] = { 0,10000,5000,2000,1000,500,100,50,10,5,1 };
long i;
// 初期化
memset( (char *)nKinsyu, 0x00, sizeof( long ) * (10+1) );
// 入力
scanf( "%ld", &nKin );
if ( nKin <= 0 ) {
printf( "正しい数値を入力して下さい" );
exit( 1 );
}
// 1円
nKinsyu[10] = nKin % 5;
for( i = 1; i <= 10; i++ ) {
nKinsyu[i] = nKin / nTani[i];
nKin = nKin % nTani[i];
}
// 表示
for( i = 1; i <= 10; i++ ) {
printf( "%ld 円は %ld 枚\n", nTani[i], nKinsyu[i] );
}
}
|
|