运用C语言计算支付方法:取1元、2元和5元纸币共10张,凑整18元,共有几种方法?(用n表示)

运用c语言解决支付方法:取1元、2元和5元纸币共10张,凑整18元,共有几种方法?(用n表示)

#include <stdlib.h>
 
int main()
{
    int n = 0;
    for (int y = 0; y <= 10; y++)
        for (int e = 0; e <= 10 - y; e++)
        {
            int w = 10 - y - e;
            if (y + e * 2 + w * 5 == 18)
            {
                printf("%d %d %d\n", y, e, w);
                n++;
            }
        }
    printf("%d种", n);
    return 0;
}

2 8 0
5 4 1
8 0 2
3种

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/1051673
  • 这篇博客你也可以参考下:计算100元换算成1元、5元、10元零钱有多少种可能?
  • 同时,你还可以查看手册:c语言-调用、逗号、三元 中的内容
  • 除此之外, 这篇博客: C语言·百钱百鸡问题中的 用100元钱卖100只鸡,公鸡每只5元,母鸡每只3元,小鸡每3只1元,要求每种鸡至少买一只。试编程求各种鸡各买多少只 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 主要思路:先将三种鸡的个数设出来,利用多层循环满足鸡个数和为100,价格总和也为100,则条件成立将鸡的个数输出。

    /***************百钱百鸡问题********************
    	* 用100元钱卖100只鸡,公鸡每只5元,母鸡每只3元,
    	  小鸡每3只1元,要求每种鸡至少买一只。
    	  试编程求各种鸡各买多少只
    *************************************************/
    void main ()
    {
    	int x,y,z;//分别带代表公鸡、母鸡和小鸡
    	for(x=1;x<=19;x++)//公鸡最多19只(还有小鸡和母鸡)
    		for(y=1;y<=31;y++)//母鸡最多31只
    		{
    			z=100-x-y;
    			if(5*x+3*y+z/3==100&&z%3==0)//小鸡个数要是3的倍数,防止钱有剩余
    				printf("公鸡有%d只,母鸡有%d只,小鸡有%d只;\n",x,y,z);
    		}
    	
    }
    
  • 您还可以看一下 黄菊华老师的微信小程序样式开发入门课程中的 元素选择器小节, 巩固相关知识点