第六次作业

一、实验内容   

1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。

#include<stdio.h>
int main()
{
    int a,b,c,d,i,t,fresh;
    {
        for(i==1000;i<=9999;i++)
        {
            a=i/1000;
            b=(i/100)%10;
            c=(i/10)%10;
            d=i%10;
            fresh=a+b*10+c*100+d*1000;
            if(i==4*fresh)
            {
                printf("%d ",i);
            }
            else
            {
                continue;    
            } 
        }
    }
    return 0;        
} 

2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。

#include<stdio.h>
int main()
{
    int a,b=0,sum=0;
    printf("输入任意一个多位的数字:
");
    scanf("%d",&a);
    while(a>0)
    {
        b=a%10;
        a=a/10;
        sum=sum+b;
    }
        if(sum==1)
        {
            printf("Janurary
");
        }
        else if(sum==2)
        {
                printf("February
");
        }
        else if(sum==3)
        {
            printf("March
");
        }
        else if(sum==4)
        {
            printf("April
");
        }
        else if(sum==5)
        {
            printf("May
");
        }
        else if(sum==6)
        {
            printf("June
");
        }
        else if(sum==7)
        {
            printf("July
");
        }
        else if(sum==8)
        {
            printf("August
");
        } 
        else if(sum==9)
        {
            printf("September
");
        } 
        else if(sum==10)
        {
            printf("October
");    
        } 
        else if(sum==11)
        {
            printf("November
");    
        }
        else if(sum==12)
        {
            printf("December
");
        }
        else
        {
            printf("***
");
        }

    return 0;    
}

3.给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

#include<stdio.h>
int main()
{
int d=0,x,a,b,c,e,y;
printf("输入1—6的整数
");
scanf("%d",&x);
if((x<1)||(x>6))
{
printf("error");
}
else
{
y=x+3;
for(a=x;a<=y;a++)
for(b=x;b<=y;b++)
for(c=x;c<=y;c++)
if(a==b||b==c||a==c)
{
continue;
 } 
 else if(a!=b&&b!=c&&a!=c) 
{
e=a*100+b*10+c;
d=d+1;
printf("%d",e);
if(d%6==0)
{
printf("
");
}
else
{
printf(" " );
}
}

}
return 0;    
} 

4.猜拳游戏。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int number=1,x,machine,win=0,lose=0,plain=0;
    char a;
    srand(time(NULL));
    do{
        machine=rand()%3+1;
        printf("第%d轮对决
",number);
        printf("该你出拳了,请选择:1、石头,2、剪刀,3、布
");
        scanf("%d",&x);
        if((x!=1)&&(x!=2)&&(x!=3))
        {
            printf("数据错误,请重新输入!
"); 
        }
        else if(x==machine)
        {
            plain++;
            number++;
            printf("平局 加油啊!
");    
        }
        else if(x==1&&machine==2)
        {
            win++;
            number++;
            printf("电脑出的剪刀 你出的石头
运气真好 你赢了!
");
        }
        else if(x==2&&machine==3)
        {
            win++;
            number++;
            printf("电脑出的布 你出的剪刀
运气真好 你赢了!
");    
        }
        else if(x==3&&machine==1)
        {
            win++;
            number++;
            printf("电脑出的石头 你出的布
运气真好 你赢了!
");    
        }
        else if(x==1&&machine==3)
        {
            lose++;
            number++;
            printf("电脑出的布 你出的石头
你输了 /(ㄒoㄒ)/~~ 
");      
        } 
        else if(x==2&&machine==1)
        {
            lose++;
            number++;
            printf("电脑出的石头 你出的剪刀
你输了 /(ㄒoㄒ)/~~
"); 
        }
        else if(x==3&&machine==2)
        {
            lose++;
            number++;
            printf("电脑出的剪刀 你出的布
你输了 /(ㄒoㄒ)/~~
");     
        }
        printf("继续下一轮吗?Y(y)or N(n)
");
        scanf(" %c",&a);
    } while(a=='y'||a=='Y');
    printf("对决次数:%d,平局%d次,电脑得分%d,你得分%d",number,plain,lose,win);
    return 0;        
} 

  二、知识点总结

1.for循环通常用于计数控制:用专门的循环变量来计算循环次数,循环变量的值在每次执行完循环体各语句后递增,达到预定的循环次数时则终止循环,继续执行循环结构后的语句。

3.for语句中的表达式可以部分省略或者全部省略,但‘;’不能省略。

4.增量运算符遵循从右到左的运算法则,单独使用时,前缀形式和后缀形式的结果相同;但是增量运算符作为表达式的一部分时,前缀形式和后缀形式的执行过程不同。

三、实验总结:

1.循环体中应有使循环趋向于结束的语句。

2.注意赋值和判断等于的区别。

3.当循环为死循环用break,因为break跳出整个循环,而continue跳出本层循环。

4.循环的嵌套:1、三种循环可互相嵌套,层数不限。2、外层循环可包含两个以上内循环,但不能相互交叉。3、嵌套循环的执行流程:外层循环执行一次,内层循环要完成所有循环。

5.循环语句中循环体复合语句时需要加括号循环开始前,需要将计数器变量和变量和乘积变量初始化。

原文地址:https://www.cnblogs.com/0000-beauty/p/6048713.html