ktv啤酒专场怎么谈:c++ 函数题目!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 10:33:40
请教难题!
目前人民币有以下几种面值(不包括角和分);
1元,2元,5元,10元,20元,50元,100元
编写一个函数计算金额"X"需要多少张面值为n元的纸币.在函数中输入一个金额值,调用该函数,计算组成该金额最少需要多少张纸币.

求解!我做了好多次都有bug!
我只想用#include "stdio.h" 来做,你们用的那些函数我都不懂,希望能够简单点,让我更加明白,谢谢,再提高20分悬赏!

#include "stdio.h"
#include "conio.h"

unsigned int fun(unsigned int x)
{
unsigned int r = 0;
r += (x/100);
x %= 100;
r += (x/50);
x %= 50;
r += (x/20);
x %= 20;
r += (x/10);
x %= 10;
r += (x/5);
x %= 5;
r += (x/2);
x %= 2;
r += x;
return r;
}

int main()
{
unsigned int x;
printf("X=");
scanf("%u",&x);
printf("\n%u",fun(x));
getch();
return 0;
}

c++
钱能的课程里都有的

#include<iostream.h>
void main()
{
int x;
int hun=0,fty=0,tty=0,ten=0,five=0,two=0,one=0;
cout<<"请输入金额:";
cin>>x;
cout<<endl;
cout<<"最少需要的纸币为:"<<endl;
if(x/100>0)
{
hun=x/100;
cout<<"100元币:"<<hun<<"张"<<endl;
}
x=x%100;
if(x/50>0)
{
fty=x/50;
cout<<"50元币:"<<fty<<"张"<<endl;
}
x=x%50;
if(x/20>0)
{
tty=x/20;
cout<<"20元币:"<<tty<<"张"<<endl;
}
x=x%20;
if(x/10>0)
{
ten=x/10;
cout<<"10元币:"<<ten<<"张"<<endl;
}
x=x%10;
if(x/5>0)
{
five=x/5;
cout<<"5元币:"<<five<<"张"<<endl;
}
x=x%5;
if(x/2)
{
two=x/2;
cout<<"2元币:"<<two<<"张"<<endl;
}
x=x%2;
one=x;
if(one>0)
cout<<"1元币:"<<one<<"张"<<endl;
}

#include<iostream.h>

void text(int maney);

void main(){
while (true)
{
int maney;
cout << "请输入钱数(必须为正整数):";
cin >> maney;
text(maney);
cout << endl;
}
}

void text(int maney){
int r = maney,
n;
n = r / 100;
cout << "100\t" << n << endl;
r -= 100 * n;
n = r / 50;
cout << "50\t" << n << endl;
r -= 50 * n;
n = r / 20;
cout << "20\t" << n << endl;
r -= 20 * n;
n = r / 10;
cout << "10\t" << n << endl;
r -= 10 * n;
n = r / 5;
cout << "5\t" << n << endl;
r -= 5 * n;
n = r / 2;
cout << "2\t" << n << endl;
r -= 2 * n;
n = r;
cout << "1\t" << n << endl;
}

#include <stdio.h>

void Compose(int money)//采用贪心策略
{
int sum = 0;

printf("需要100元纸币的张数:%d\n", money/100);
sum = sum + money/100;
money = money % 100;

printf("需要50元纸币的张数:%d\n", money/50);
sum = sum + money/50;
money = money % 50;

printf("需要20元纸币的张数:%d\n", money/20);
sum = sum + money/20;
money = money % 20;

printf("需要10元纸币的张数:%d\n", money/10);
sum = sum + money/10;
money = money % 10;

printf("需要5元纸币的张数:%d\n", money/5);
sum = sum + money/5;
money = money % 5;

printf("需要2元纸币的张数:%d\n", money/2);
sum = sum + money/2;
money = money % 2;

printf("需要1元纸币的张数:%d\n", money/1);
sum = sum + money/1;

printf("需要的纸币总张数:%d\n\n",sum);
}

int main()
{
int money;
printf("输入金额值:\n");
scanf("%d",&money);

Compose(money);

return 0;
}