金種表

  パターン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:16px!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", &amp;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>




  パターン3 : 配列とループを利用する

#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] );
	}

}



  パターン4 : さらにステップアップした書き方

#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] );
	}

}










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ