永发信息网

做了一道C语言的题,有写错误。

答案:5  悬赏:60  手机版
解决时间 2021-05-08 10:46
  • 提问者网友:椧運幽默
  • 2021-05-08 06:04

1.       要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。

#include<stdio.h>
#include<iostream.h>

int main()
{
    int a=0,b=0,c=0,d=0;
    for(a;a<=2;a++)
    {
                  if(50*a+20*b+10*c+5*d=100)
                  printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
                  else
                  for(;b<=5;b++)
                  {
                               if(50*a+20*b+10*c+5*d=100)
                               printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
                               else
                               for(;c<=10;c++)
                               {
                                              if(50*a+20*b+10*c+5*d=100)
                                              printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
                                              else
                                              for(;d<=20;d++)
                                              {
                                                             if(50*a+20*b+10*c+5*d=100)
                                                             printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
                                                             }
                                              }
                               }
                  }
                  system("pause");
                  return 0;
                  }

最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-05-08 07:15

#include<stdio.h>
#include<iostream.h>


int main()
{
    int a=1,b=1,c=1,d=1;
    for(;a<=2;a++)
    {
    if(50*a+20*b+10*c+5*d==100)
    printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
    else
    for(;b<=5;b++)
    {
    if(50*a+20*b+10*c+5*d==100)
    printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
    else
    for(;c<=10;c++)
    {
    if(50*a+20*b+10*c+5*d==00)
    printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
    else
    for(;d<=20;d++)
    {
    if(50*a+20*b+10*c+5*d==100)
    printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);
    }
    }
    }
    }
    system("pause");
    return 0;
    }


//这是你学写的,帮你改了下。可以运行了

全部回答
  • 1楼网友:你可爱的野爹
  • 2021-05-08 09:03

老兄就这么简单让你给整的.

#include<stdio.h> #include<iostream.h>

int main() {  int a,b,c,d;     for(a=0;a<=2;a++)   for(b=0;b<=5;b++)    for(c=0;c<=10;c++)     for(d=0;d<=20;d++)     if(50*a+20*b+10*c+5*d==100) printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);     system("pause");     return 0; }

  • 2楼网友:一把行者刀
  • 2021-05-08 08:07

下面是我修改你的程序的截屏和结果的输出截屏:

  • 3楼网友:猎心人
  • 2021-05-08 07:59
括号真多```
  • 4楼网友:迷人又混蛋
  • 2021-05-08 07:52

我给你简单的修改乐一下 

希望对你有所帮助!

if(50*a+20*b+10*c+5*d=100)
这个里面是不能用“=”,应该用“==”,()里面是个逻辑表达,不能用赋值运算符。

下面是修改好的程序

#include<stdio.h> #include<iostream.h>

int main() {     int a=0,b=0,c=0,d=0;     for(a=1;a<2;a++)     {     for(b=1;b<5;b++)     {      for(c=1;c<10;c++)   {     for(d=1;d<20;d++)          if((50*a+20*b+10*c+5*d)==100)     printf("a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d);     }     }     }     return 0; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯