お金の計算のプログラム
Posted: 2010年4月19日(月) 18:01
環境はOS:unix コンパイラ:gccです。
最近、プログラムを始めたところです。
大学の課題でお金の計算をするプログラムを作っています。
完成型としては、
19867円
10000円1枚
5000円1枚
2000円2枚
1000円0枚
500円1枚
100円3枚
50円1枚
10円1枚
5円1枚
1円2枚
という形にしたいのですが、下のプログラムだと何故か計算がおかしくなります。
#include<stdio.h>
main()
{
int x;
int a,b,c,d,e,f,g,h,i,j;
a=x/10000;
b=(x-a*10000)/5000;
c=(x-a*10000-b*5000)/2000;
d=(x-a*10000-b*5000-c*2000)/1000;
e=(x-a*10000-b*5000-c*2000-d*1000)/500;
f=(x-a*10000-b*5000-c*2000-d*1000-e*500)/100;
g=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100)/50;
h=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50)/10;
i=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50-h*10)/5;
j=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50-h*10-i*5)/1;
scanf("%d円",&x);
printf("10000円%d枚\n",a);
printf("5000円%d枚\n",b);
printf("2000円%d枚\n",c);
printf("1000円%d枚\n",d);
printf("500円%d枚\n",e);
printf("100円%d枚\n",f);
printf("50円%d枚\n",g);
printf("10円%d枚\n",h);
printf("5円%d枚\n",i);
printf("1円%d枚\n",j);
}
どうすればいいのでしょうか?教えてください。
最近、プログラムを始めたところです。
大学の課題でお金の計算をするプログラムを作っています。
完成型としては、
19867円
10000円1枚
5000円1枚
2000円2枚
1000円0枚
500円1枚
100円3枚
50円1枚
10円1枚
5円1枚
1円2枚
という形にしたいのですが、下のプログラムだと何故か計算がおかしくなります。
#include<stdio.h>
main()
{
int x;
int a,b,c,d,e,f,g,h,i,j;
a=x/10000;
b=(x-a*10000)/5000;
c=(x-a*10000-b*5000)/2000;
d=(x-a*10000-b*5000-c*2000)/1000;
e=(x-a*10000-b*5000-c*2000-d*1000)/500;
f=(x-a*10000-b*5000-c*2000-d*1000-e*500)/100;
g=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100)/50;
h=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50)/10;
i=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50-h*10)/5;
j=(x-a*10000-b*5000-c*2000-d*1000-e*500-f*100-g*50-h*10-i*5)/1;
scanf("%d円",&x);
printf("10000円%d枚\n",a);
printf("5000円%d枚\n",b);
printf("2000円%d枚\n",c);
printf("1000円%d枚\n",d);
printf("500円%d枚\n",e);
printf("100円%d枚\n",f);
printf("50円%d枚\n",g);
printf("10円%d枚\n",h);
printf("5円%d枚\n",i);
printf("1円%d枚\n",j);
}
どうすればいいのでしょうか?教えてください。