第六次作业

一、实验内容   

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

#include<stdio.h>
int main()
{
    int i,j,k,l,m,n,f,g;
    for(i=1;i<10;i++)
    for(j=1;j<10;j++)
    for(k=1;k<10;k++)
    for(l=1;l<10;l++)
    {
        f=i*1000+j*100+k*10+l;
        g=l*1000+k*100+j*10+i;
        if(f==4*g&&i!=j&&j!=k&&k!=l)
        {
            printf("%04d",f);
        }
    }
    return 0;
} 

 

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

#include<stdio.h>
int main()
{
    int n,a,b,t=0;
    printf("输入一个多位数");
    scanf("%d",&n);
    while(n>0)
    {
        a=n%10;
        n=n/10;
        t+=a;
    }
    if(t>=1&&t<=12)
    {
        switch(t)
        {
            case 1:printf("1  January\n");
                   break;
            case 2:printf("2  February\n");
                   break;
            case 3:printf("3  March\n");
                   break;
            case 4:printf("4  April\n");
                   break;
            case 5:printf("5  May\n");
                   break;
            case 6:printf("6  June\n");
                   break;
            case 7:printf("7  July\n");
                   break;
            case 8:printf("8  August\n");
                   break;
            case 9:printf("9  September\n");
                   break;
            case 10:printf("1O  ctober\n");
                   break;
            case 11:printf("11  Noverber\n");
                   break;
            case 12:printf("12  December\n");
                   break;
        }
    }
    else
    {
        printf("%d  ***\n",t);
    }
    return 0;
}    

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

#include<stdio.h>
int main()
{
    int i,j,k,n,x,y=0;
    scanf("%d",&n);
    for(i=n;i<n+4;i++)
    for(j=n;j<n+4;j++)
    for(k=n;k<n+4;k++)
    if(i!=j&&j!=k&&k!=i)
    {
        x=i*100+j*10+k;
        printf("%d ",x);
        y++;
        if(y%6==0)
        {
            printf("\n");
        }
    }
    return 0;
}

4.看商品猜价格

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int i=0,price,guess;
    char c;
    srand(time(NULL));
    price=rand()%100+1;
    do
    {
        i=0;
        while(i<10)
            {
                printf("请输入您猜的价格");
                scanf("%d",&guess);
                if(guess<=0)
                {
                    printf("输入错误\n"); 
                }
                else
                {
                    if(price>guess)
                    {
                        printf("猜小了\n");
                        i++;
                    }   
                    else if(price<guess)
                    {
                        printf("猜大了\n");
                        i++; 
                    }
                    else 
                    {  
                        i++; 
                        printf("你猜对了\n"); 
                        printf("一共猜了%d\n",i); 
                        break;
                    }    
                }
                if(i==10)
                {
                    printf("正确价格为%d\n",price); 
                }
            }
        printf("游戏继续yes(Y)或no(N)\n");
        scanf(" %c",&c);
    }while(c=='Y'||c=='y');
    return 0; 
}

   

 二、知识点总结(对顺序结构、选择结构、循环结构做综合总结)

          选择结构:单分支if结构,用来做判断。

                        双分支一般指的是if...else结构。多分支一般指的是switch结构,多重的if...else也可以实现。

          循环结构:一般有for,当型while,直到型do...while。

 三、实验总结

           break语句

               (1)在循环语句和switch语句中,用break跳出循环

               (2)break只能终止并跳出最近一层的结构

           continue语句

               (1)只能用于循环语句中,一般都与if语句一起使用

               (2)只结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断

 

posted @ 2016-11-08 21:50  一范红宇  阅读(197)  评论(3编辑  收藏  举报