c语言韩信点兵 c语言韩信点兵

\u97e9\u4fe1\u70b9\u5175\uff08c\u8bed\u8a00\uff09

\u4f60\u5b8c\u5168\u6ca1\u6709\u6309\u7167\u9898\u76ee\u8981\u6c42\u505a\u3002
#include void main(){long long i,A,B,C,D,E,F,G,H,a,b,c,d,e,f,g,h;scanf("%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld",&A,&B,&C,&D,&E,&F,&G,&H,&a,&b,&c,&d,&e,&f,&g,&h);for(i=A;;i++)if(i%A==a&&i%B==b&&i%C==c&&i%D==d&&i%E==e&&i%F==f&&i%G==g&&i%H==h){printf("%lld",i);break;}}\u8fd0\u884c\u793a\u4f8b\uff1a

\u5728\u4f60\u7684\u7a0b\u5e8f\u6bb5\u4e2d\uff0cbreak\u7684\u610f\u601d\u662f\u8df3\u51fafor\u5faa\u73af\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c

\u7b2c\u4e00\u6b21\u8fdb\u5165\u5faa\u73af\u65f6\uff0cx=10\uff0c\u6b64\u65f6\u4e0d\u6ee1\u8db3if\u7684\u6761\u4ef6\uff0c\u4e0d\u6267\u884cif\u5927\u62ec\u53f7\u91cc\u7684\u8bed\u53e5\uff0c\u6267\u884celse\u5927\u62ec\u53f7\u91cc\u7684\u8bed\u53e5\uff0c\u5373\u8f93\u51faNo answer\uff0c\u6362\u884c\uff0c\u7136\u540ebreak\uff0c\u8df3\u51fafor\u5faa\u73af\uff0c\u7a0b\u5e8f\u7ed3\u675f\u3002

\u7136\u800c\u5982\u679c\u628a\u628a\u4e24\u4e2abreak\u6ce8\u91ca\u6389\uff0celse\u4e2d\u7684\u8bed\u53e5\u4ecd\u7136\uff0c\u653e\u5728for\u5faa\u73af\u5185\u90e8\uff0c\u4f1a\u5f97\u5230\u5f88\u591aNo answer\uff0c\u518d\u8f93\u51fa\u4e00\u4e2a41\uff0c\u7136\u540e\u53c8\u662f\u5f88\u591aNo answer\u3002\uff08\u4f60\u53ef\u4ee5\u9a8c\u8bc1\u4e00\u4e0b\uff09

\u8fd9\u662f\u56e0\u4e3a\u6bcf\u6b21\u8fdb\u5165for\u5faa\u73af\uff0c\u65e0\u8bba\u662f\u6267\u884cif\u4e2d\u7684\u8bed\u53e5\u8fd8\u662felse\u4e2d\u7684\u8bed\u53e5\uff0c\u5b83\u90fd\u5fc5\u7136\u4f1a\u6267\u884c\u8f93\u51fa\uff0c\u524d\u9762\u4e0d\u6ee1\u8db3\u6761\u4ef6\u7684x\u90fd\u8fdb\u5165\u4e86else\uff0c\u63a5\u7740\u8f93\u51faNo answer\u3002

\u6240\u4ee5\uff0c\u539f\u6765\u7a0b\u5e8f\u6bb5\u4e2d\u7684else\u4e2d\u7684\u8bed\u53e5\u4e0d\u5e94\u8be5\u653e\u5728for\u5faa\u73af\u5185\u90e8\u3002

\u6362\u53e5\u8bdd\u8bf4\uff0c\u4f60\u7684\u6539\u8fdb\u5e94\u8be5\u662f\uff081\uff09\u5220\u6389\u4e24\u4e2abreak\uff0c\uff082\uff09\u5c06else\u4e2d\u7684\u8bed\u53e5\uff08\u5373\u8f93\u51faNo answer\uff09\u653e\u5230for\u5faa\u73af\u4ee5\u5916
\u6539\u8fdb\u7ed3\u679c\u5982\u4e0b\uff1a
#include
int main()
{
int a,b,c,x;
scanf("%d%d%d",&a,&b,&c);
for(x=10;x<=100;x++)
{
if((x%3==a)*(x%5==b)*(x%7==c))
{
printf("%d\n",x);
break;
}
}
if(x==101)
{
printf("no answer");
}
return 0;
}
\u56e0\u4e3a\u6211\u6ca1\u8bbe\u7f6ehanxin.out\u8fd9\u4e2a\u6587\u4ef6\uff0c\u6240\u4ee5\u628afreopen("hanxin.out","w",stdout);\u8fd9\u884c\u5220\u9664\u4e86\uff0c\u4f60\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u81ea\u5df1\u52a0\u4e0a\u3002

\u4e3a\u4e86\u5c06 printf("no answer");\u8fd9\u4e00\u53e5\u653e\u5230for\u5faa\u73af\u4ee5\u5916\uff0c\u589e\u52a0\u4e86\u4e24\u53e5
break;
\u548c
if(x==101)

\u8fd9\u4e24\u53e5\u7684\u4f5c\u7528\u662f\u5f53x\u6ee1\u8db3for\u4e2dif\u7684\u6761\u4ef6\u65f6\uff0c\u8df3\u51fafor\u5faa\u73af\uff0c\u6b64\u65f6x\u7684\u503c\u4e3a\u8df3\u51fa\u65f6\u7684\u503c\uff0c\u5982\u679c\u6240\u6709\u7684x\u90fd\u4e0d\u6ee1\u8db3for\u4e2dif\u7684\u6761\u4ef6\uff0c\u5219\u6b64\u65f6for\u6267\u884c\u5b8c\u6bd5\uff0c\u6ca1\u6709x\u6ee1\u8db3\u6761\u4ef6\uff0c\u6b64\u65f6x\u7684\u503c\u4e3a101\uff0c\u5c31\u8f93\u51fano answer\u3002


\u8fd8\u6709\u95ee\u9898\u5c3d\u7ba1\u95ee\u54c8~

#include "stdio.h"
void main()
{
    int num1,num2;
    int i,count=0;
    printf("请输出两个整数:");
    scanf("%d%d",&num1,&num2);
    for(i=num1;i<=num2;i++)
    {
        if(i%3==2 && i%5==3 && i%7==2)
        {
                    printf("%8d",i);
                    count++;
                    if(count%10==0)
                        printf("
");
        }
    }    
}

帮你手打了一下,你自己测试与调试一下



#include <stdio.h>

void f(int min, int max, int length) {
  int i = min;
  int c = 0;
  for (i = min; i <= max; i++) {
    if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2) {
      c++;
      printf("%7d", i);
      if (c == length) {
        printf("
");
        c = 0;
      }
    }
  }
}

int main() {
  int min;
  int max;
  scanf("%d %d", &min, &max);
  f(min, max, 10);
}


在你的程序段中,break的意思是跳出for循环,也就是说,

第一次进入循环时,x=10,此时不满足if的条件,不执行if大括号里的语句,执行else大括号里的语句,即输出No answer,换行,然后break,跳出for循环,程序结束。

然而如果把把两个break注释掉,else中的语句仍然,放在for循环内部,会得到很多No answer,再输出一个41,然后又是很多No answer。(你可以验证一下)

这是因为每次进入for循环,无论是执行if中的语句还是else中的语句,它都必然会执行输出,前面不满足条件的x都进入了else,接着输出No answer。

所以,原来程序段中的else中的语句不应该放在for循环内部。

换句话说,你的改进应该是(1)删掉两个break,(2)将else中的语句(即输出No answer)放到for循环以外
改进结果如下:
#include
int main()
{
int a,b,c,x;
scanf("%d%d%d",&a,&b,&c);
for(x=10;x<=100;x++)
{
if((x%3==a)*(x%5==b)*(x%7==c))
{
printf("%d\n",x);
break;
}
}
if(x==101)
{
printf("no answer");
}
return 0;
}
因为我没设置hanxin.out这个文件,所以把freopen("hanxin.out","w",stdout);这行删除了,你需要的话可以自己加上。

为了将 printf("no answer");这一句放到for循环以外,增加了两句
break;

if(x==101)

这两句的作用是当x满足for中if的条件时,跳出for循环,此时x的值为跳出时的值,如果所有的x都不满足for中if的条件,则此时for执行完毕,没有x满足条件,此时x的值为101,就输出no answer。

还有问题尽管问哈~

# include<stdio.h>
int main()
{
int n,a,b,c;
scanf("%d%d%d",&a,&b,&c);
for(n=10;n<=200;n++)
{
if (n%3==a && n%5==b && n%7==c)
{
if(n<=100)
{
printf("%d",n);
break;
}
else
{
printf("No answer");
}
}
}
}

  • c璇█闊╀俊鐐瑰叺闂c璇█闊╀俊鐐瑰叺
    绛旓細鍏充簬c璇█闊╀俊鐐瑰叺闂锛宑璇█闊╀俊鐐瑰叺杩欎釜寰堝浜鸿繕涓嶇煡閬擄紝浠婂ぉ鏉ヤ负澶у瑙g瓟浠ヤ笂鐨勯棶棰橈紝鐜板湪璁╂垜浠竴璧锋潵鐪嬬湅鍚э紒1銆#include "stdio.h"void main(){    int num1,num2;    int i,count=0;   &...
  • 璇烽棶闊╀俊鐐瑰叺鐢c璇█鎬庝箞缂栧啓鍟?
    绛旓細include <stdio.h>int main (void) {int n; for (n=1000; n<1100; n++) /*鎴樻澶х害400-500锛屽惊鐜寖鍥村嵆鍦1000-1100涔嬮棿*/if((n%3==2)&&(n%5==4)&&(n%7==6)) /*寰幆鎵惧鏌愭暟绗﹀悎闄3浣2涓旈櫎5浣4涓旈櫎7浣6*/printf("闊╀俊鍓╀綑鍏靛姏涓%d浜猴紒",n);getch ();return 0;}杩愯...
  • C璇█ 闊╀俊鐐瑰叺
    绛旓細{if((i+1)%6==5&&(i+1)%7==4&&(i+1)%11==10){printf("闊╀俊鏈%d涓叺",i+1));break锛泒 }
  • 闊╀俊鐐瑰叺,C璇█
    绛旓細include<stdio.h>int main(){ int i; for(i=6;i<=100000;i++){ if(i%5==1&&i%6==5&&i%7==4&&i%11==10){ printf("鎬绘暟涓:%d",i); break;}} return 0;}
  • c璇█棰樼洰,闊╀俊鐐瑰叺
    绛旓細include <stdio.h>int main(){ int iStart = 0, iEnd = 0, iCount = 0, index = 0; printf("璇疯緭鍏ヤ袱涓暣鏁(鐢ㄩ楀彿闅斿紑锛夛細"); scanf("%d,%d", &iStart, &iEnd); index = iStart<=iEnd?iStart:iEnd; iEnd = iStart>=iEnd?iStart:iEnd; for(;index<=iEnd...
  • 濡傛灉涓涓C璇█棰樼洰鏄:鈥闊╀俊鐐瑰叺,涓変笁鏁颁箣浣2,涓変簲鏁颁綑3,涓冧竷鏁颁綑2...
    绛旓細濡傛灉涓変欢涓変欢鍦版暟锛屽氨浼氬墿涓嬩袱浠讹紱濡傛灉浜斾欢浜斾欢鍦版暟锛屽氨浼氬墿涓嬩笁浠讹紱濡傛灉涓冧欢涓冧欢鍦版暟锛屼篃浼氬墿涓嬩袱浠躲傞棶锛氳繖鎵圭墿鍝佸叡鏈夊灏戜欢锛熷彉鎴愪竴涓函绮圭殑鏁板闂灏辨槸锛氭湁涓涓暟锛岀敤3闄や綑2锛岀敤5闄や綑3锛岀敤7闄や綑2銆傛眰杩欎釜鏁般俰nclude<stdio.h> void main(){printf("濡備笅鏁板彲绗﹀悎瑕佹眰锛");for(int...
  • c璇█缂栫▼搴:闊╀俊鐐瑰叺,闊╀俊鏈変竴闃熶紞,浣犳兂鐭ラ亾鏈夊灏戜汉,灏辫澹叺鎶ユ暟...
    绛旓細闊╀俊鐐瑰叺涓嶆槸鎸3浜轰竴鎺掞紝5浜轰竴鎺掞紝7浜轰竴鎺掑悧锛熷鏋滄槸杩欐牱鐨勮瘽 include<stdio.h> int main(){ int n,a,b,c;scanf("%d%d%d",&a,&b,&c);for(n=10;n<=200;n++){ if (n%3==a && n%5==b && n%7==c){ if(n<=100){ printf("%d",n);break;} else { printf("No ...
  • c璇█鈥斺闊╀俊鐐瑰叺
    绛旓細include<stdio.h> main(){ int n=900;while(n<1100){ if(n%3==1&&n%5==1&&n%7==1){printf("%d\n",n);break;} else n++;} } 鏈鍚庣瓑浜946
  • c璇█闊╀俊鐐瑰叺
    绛旓細i%7==2) 锝 printf("%8d",i); count++; if(count%10==0) printf("\n"); 锝 } }甯綘鎵嬫墦浜嗕竴涓嬶紝浣犺嚜宸辨祴璇曚笌璋冭瘯涓涓
  • 闊╀俊鐐瑰叺闂姹傝В...涓嶇敤鏋氫妇鐨勮瘽,搴旇鎬庝箞瑙e喅鍛??(C璇█)
    绛旓細int main(){ int a,b,c,n;printf("杈撳叆涓変釜鏁帮細");scanf("%d%d%d",&a,&b,&c);n = (70*a+21*b+15*c)%105;printf("缁撴灉涓%d+105*n(n涓轰换鎰忚嚜鐒舵暟)\n",n);} //a涔樹互70鏄娇寰楄鏁板彲浠ユā3寰梐锛屽洜涓70妯3寰1锛屾墍浠*70妯3寰梐锛涘叾浠栫殑21銆15妯3寰0锛屾墍浠ュ畠浠箻浠ヤ换鎰忓...
  • 扩展阅读:韩信点兵数学题目讲解 ... 韩信点兵c语言流程图 ... c语言韩信点兵穷举法 ... 韩信阅兵c语言编写 ... 韩信点兵python编程 ... 韩信点兵编程题答案 ... 韩信带1500名士兵编程 ... 韩信点兵一一歇后语 ... 韩信点兵c语言编程博客 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网