人民币问题

在这里插入图片描述
两种算法,第一个慢一些易懂,第二个就是用1来补缝。
方法一

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,sum,n,l;
while(scanf("%d",&n)!=EOF)
{
sum=0;
for(i=5;i<n;i=i+5)
{
for(j=2;j<n;j=j+2)
{
for(l=1;l<n;l++)
{
if(i+j+l==n)
sum++;
}
}
}
printf("%d\n",sum);
}
return 0;
}

方法2

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i,j,sum,n;
while(scanf("%d",&n)!=EOF)
{
sum=0;
for(i=5;i<n;i=i+5)
{
for(j=2;j<n-i;j=j+2)
sum++;
}
printf("%d\n",sum);
}
return 0;
}
在C++中计算各类人民币张数问题,通常需要编写一个程序来处理用户的输入,并根据输入的金额计算出不同面额的人民币张数。这个问题可以通过多种方式解决,但是一个常见的方法是使用除法和取余操作来计算每种面额的张数。 以下是一个简单的示例程序,用来计算给定金额的人民币各面额张数: ```cpp #include <iostream> using namespace std; void calculateMoney(int amount) { // 定义各种面额的人民币 const int ONE_HUNDRED = 100; // 100元 const int FIFTY = 50; // 50元 const int TWENTY = 20; // 20元 const int TEN = 10; // 10元 const int FIVE = 5; // 5元 const int ONE = 1; // 1元 // 计算不同面额的张数 int hundred_count = amount / ONE_HUNDRED; amount %= ONE_HUNDRED; int fifty_count = amount / FIFTY; amount %= FIFTY; int twenty_count = amount / TWENTY; amount %= TWENTY; int ten_count = amount / TEN; amount %= TEN; int five_count = amount / FIVE; amount %= FIVE; int one_count = amount; // 输出结果 cout << "100元张数:" << hundred_count << endl; cout << "50元张数:" << fifty_count << endl; cout << "20元张数:" << twenty_count << endl; cout << "10元张数:" << ten_count << endl; cout << "5元张数:" << five_count << endl; cout << "1元张数:" << one_count << endl; } int main() { int amount; cout << "请输入金额(单位:元):"; cin >> amount; calculateMoney(amount); return 0; } ``` 这段代码首先定义了各个面额的人民币,并将用户的输入金额逐步除以不同面额,计算出每种面额的张数,并在最后输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值