求解C语言函数的一道题!急

来源:百度知道 编辑:UC知道 时间:2024/05/19 15:13:08
目前人民币面值有以下几种(不包括角和分)
1元,2元,5元,10元,20元,50元,100元
编写一个函数计算金额“X”需要多少张面值为n元的纸币。在主函数中输入一个金额值,调用该函数,计算组成金额最少需要多少张纸币。

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int num[7] = { 1, 2, 5, 10, 20, 50, 100 };
int i, n, x;

scanf ("%d", &n);

for ( i = 6; i >= 0; --i )
{
x = 0;
while ( n >= num[i] )
{
x++;
n -= num[i];
}

if ( !x )
continue;
printf ("%d张%d元\n", x, num[i]);
}

system ("PAUSE");
return 0;
}

i=0;
while(x>=100) {i++;x-=100;}
while(x>=50) {i++;x-=50;}
while(x>=20) {i++;x-=20;}
while(x>=10) {i++;x-=10;}
while(x>=5) {i++;x-=5;}
while(x>=2) {i++;x-=2;}
while(x>=1) {i++;x-=1;}
return i;
呵呵,可能有更简单的吧

suan(x,n)
int i1,i2,i5,i10,i20,i50,i100
i100=n/100;n=n%100; /*100元需要的张数*/

i50=n/50;n=n%50; /*100元需要的张数*/

i20=n/20;n=n%20; /*50元