美文网首页
For循环应用(例子)2017 2 27 晴

For循环应用(例子)2017 2 27 晴

作者: 我也不知道_445c | 来源:发表于2017-02-28 19:56 被阅读0次

    for循环:格式

    for(表达式1;表达式2;表达式3)

    {

    语句

    }

    难点:枚举法的应用。

    eg1:有5个运动员参加10米短跑,有人让他们预测比赛结果

    A选手说:B第一,我第三

    B说:我第二,E第四

    C说:我第一,D第二

    D说:C最后,我第三

    E说:我第四,A第一。

    最后比赛结果出来了,每位选手都说对了一半,请编程求出比赛结果。

    #includevoid main()

    {

    int A,B,C,D,E;

    for(A=1;A<=5;A++)

    for(B=1;B<=5;B++)

    for(C=1;C<=5;C++)

    for(D=1;D<=5;D++)

    for(E=1;E<=5;E++)

    if(

    B==1||A==3

    &&B==2||E==4

    &&C==1||D==2

    &&C==5||D==3

    &&E==4||A==1

    )

    printf("A:%d B%d C%d D%d E%d\n",A,B,C,D,E);

    }

    注意:逻辑思维;

    注重方法积累


    eg2猴子吃桃:猴子第一天的时候摘了若干个桃子,当即吃了一半多一个,第二天又吃了剩下的一半多一个,以后每天都吃剩下的一半多一个,等到第6天想吃桃子的时候,发现只剩下一个,问第一天一共摘了多少个桃子。

    分析:

    6: 1   5:(1+1)*2    4:(4+1)*2  3:(10+1)*2   2:(22+1)*2    1:(46+1)*2

    #include <stdio.h>

    void main()

    {

    int d,n=1;

    for(d=5;d>=1;d--)

    n=(n+1)*2;

    printf("n=%d\n",n);

    }


    eg3百钱买百鸡:一百块买一百鸡,3/公,2/母,2只/块。

    问:怎样一百块钱买一百只鸡。

    #include <stdio.h>

    void main()

    {

    int g,m,x;

    for(g=1;g<=33;g++)

    for(m=1;m<=50;m++)

    {

    x=100-g-m;

    if((3*g+2*m+x/2==100) && x%2==0)

    printf("g:%d m:%d x:%d\n",g,m,x);

    }

    }

    注意:同36块砖36个人。


    eg4有一个八层妖塔,每一层的妖怪都是上一层的2倍,一共有765个妖怪,问,第一层和最后一层分别有多少个妖怪

    #include<stdio.h>

    void main()

    {

    int m=1,n=1,i,sum;

    for(n=1;n<10;n++)

    {

    m=n;

    sum=n;

    for(i=7;i<=1;i--)

    {

    m=m*2;

    sum=sum+m;

    }

    if(sum==765)

    {

    printf("m=%d n=%d\n",m,n);

    break;

    }

    }

    }


    eg5统计从键盘输入的有效字符的个数,就是第一个空格键之前的字符,如果没有空格符,就是回车之前的所有字符。

    #include<>

    void main()

    {

    char c;

    int i=0;

    while(getchar()!='\n')

    {

    if(c==' ')

    break;

    i++;

    }

    printf("%d\n",i);

    相关文章

      网友评论

          本文标题:For循环应用(例子)2017 2 27 晴

          本文链接:https://www.haomeiwen.com/subject/kfzzwttx.html