• 今日记录


    #import <Foundation/Foundation.h>

    int main(int argc, const char * argv[])

    {

        //1.打印1-100中不能被7整除又不包含7的数

        //1>首先不能被7整除

        //2>去掉17,27,37....97

        //3>去掉71-79

    //    for (int i = 1; i<=100; i++)

    //    {

    //        if (i%7 != 0 && i%10 != 7 && i/10 != 7)

    //        {

    //            printf("%d ",i);

    //        }

    //    }

        

    //    2.输入两个数,求最小公倍数和最大公约数

        //1>先求出最小公倍数:一定在最大的数和两个数的乘积之间比较

    //    int num1, num2 = 0;

    //    printf("please input two number. ");

    //    scanf("%d%d",&num1,&num2);

    //    int max = num1>num2?num1:num2;

    //    for (int i = max;max<=num1*num2 ; i++)

    //    {

    //        if (i % num1 == 0 && i % num2 == 0) {

    //            printf("最小公倍数为:%d",i);

    //            break;

    //        }

    //    }

        //2>再求出最小公约数:比较两个数中最小的那个

    //    int min = num1<num2?num1:num2;

    //    for (int j = min; j>=1; j--)

    //    {

    //        if (num1 % j == 0 && num2 % j == 0 )

    //        {

    //            printf("最大公约数为:%d",j);

    //            break;

    //        }

    //    }

    //    3.随机产生20[10,100]的正整数,输出这些数以及他们中的最大数

    //    unsigned int a = 0;

    //    int max = 0;

    //    for (int i = 1; i<=20; i++)

    //    {

    //        a =arc4random();

    //        int c = a%91+10;

    //        printf("c=%d ",c);

    //        if (max<c) {

    //            max = c;

    //        }

    //    }

    //    printf("max=%d ",max);

    //    4.编程将所有"水花仙数"打印出来,并打印其总个数,"水花仙数"是一个各个位立方之和等于该整数的三位数

        int num = 100;

        int count = 0;

        for (int i = num; i<=999; i++)

        {

            int a = i % 10;//个位

            int b = (i/10)%10;//十位

            int c = (i/10)/10;//百位

            if (i == a*a*a+b*b*b+c*c*c)

            {

                printf("%d ",i);

                //printf("%d%d%d ",c,b,a);

                count++;

            }

        }

        printf("count=%d ",count);    

        

       // 5.使用循环打印三角形

        for (int i = 0; i<=3; i++) {

            for (int j = 0; j<3-i; j++) {

                printf(" ");

            }

            for (int k  = 0; k<2*i-1; k++) {

                printf("*");

            }

            printf(" ");

        }

        //6.输入一行字符,分别统计出其中英文字母.空格.数字和其他字符的个数

        //1>输入一行字符,计算这行字符数

    //    int count = 0;//用来计数英文字母的个数

    //    int count1 = 0;//用来计数空格的个数

    //    int count2 = 0;//用来计数数字的个数

    //    int count3 = 0;//用来计数其他的个数

    //    char receieve = '';//用来接收读入字符

    //    printf("please input a string: ");

    //    for (int i = 1; ; i++) {

    //        receieve = getchar();

    //        if ((receieve>='a' && receieve<='z')||(receieve>='A' && receieve<='Z')) {

    //            count++;

    //        }else if(receieve == ' '){

    //            count1++;

    //        }else if(receieve>='0' && receieve<='9'){

    //            count2++;

    //        }else if (receieve == ' '){

    //            break;//跳出循环的条件必须具备,否则循环没法停止

    //        }else{

    //            count3++;

    //        }           

    //    }

    //    printf("英文字母个数为:%d,空格个数为:%d,数字个数为:%d,其他个数为:%d",count,count1,count2,count3);

        

    //7.S(n)=a+aa+aaa+aaaa+....+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+222+22222(此时n=5),na都从键盘输入

        

        //1>先输出a,aa,aaa

        //2>for循环执行的顺序:假设输入n=3,a=2,解释执行顺序:首先外层for满足i<=n,执行number=0*10+2=2,打印出2;下面的for循环暂不执行,执行sum1=0+0;然后执行i++,i=2,number=2*10+2=22,打印出22;嵌套的for循环开始执行,sum=22+2,然后执行j++,j=2,不满足j<i,跳出循环;执行sum1=0+22+2;然后执行i++,i=3,number=22*10+2=222,打印出222;嵌套的for循环开始执行,sum=222+2,然后执行j++,j=3,不满足j<i,跳出循环;执行sum1=22+2+222+2;然后执行i++,i=4,不满足条件i<=n,即循环结束

    //    int n = 0,a = 0;

    //    printf("please enter two number: ");

    //    scanf("%d%d",&n,&a);

    //    long int number = 0;//定义一个数值表示a, aa..aa

    //    long int sum = 0;//在循环内控制部分数字的和,尤其是初始值

    //    long int sum1 = 0;//求和

    //    for (int i = 1; i<=n; i++)

    //    {

    //        number = number*10+a;

    //        printf("number=%ld ",number);

    //        for (int j = 1; j<i; j++)

    //        {

    //           sum = number+a;

    //        }

    //        sum1=sum1+sum;

    //        

    //    }

    //    printf("sum1=%ld ",sum1-(n-2)*a);

        //8 : 1+2+3+4……….20!

        //1>首先求出阶乘数1! ,2! ,3!....20!

        //2>将各个阶乘数依次相加

    //    long int num = 1;

    //    long int sum = 0;

    //    for (long int i = num; i<=20; i++) {

    //        num = num * i;

    //        //printf("num=%ld ",num);

    //        sum = sum + num;

    //    }

    //    printf("sum=%ld ",sum);

        //9: 有一个球,从100m高度自由落下,每次落地后反跳回原来高度的一半,在落下,再反弹,求它第十次落地时,共经过多少米?第十次反弹多高?

        //十次循环,将每次跳跃的高度,打印出来

    //    float height = 100.00;

    //    float Height = 0.00;//十次落地总计的路程

    //    for (int i = 0; i<10; i++) {

    //        height = height/2;

    //        //printf("height=%.8f ",height);

    //        if (i == 9) {

    //            printf("height=%f ",height);//第十次反弹的高度

    //        }

    //        

    //        Height = height*2+Height;

    //    }

    //    printf("Height=%f ",Height+100);

        

        //10:猴子偷桃问题,猴子第一天摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个,以后每天都吃掉剩下的桃子的一半零一个,到第十天在想吃的时候就只剩下一个桃子了,求第一天共摘了多少个桃子?(摘桃子的那天为第一天!)

    //    int count = 1;//总计的桃子数目

    //    //第一天:cout/2+1,剩余:count-(count/2+1)

    //    //第二天:(count-(count/2+1))/2+1

    //    //倒着算

    //    for (int i = 1; i<10; i++) {

    //        count = 2(count+1);//最后剩余的一个留出来,每次加1

    //    }

    //    printf("count=%d ",count);

        

        

        

        //面试题1 :输入十个数打印第二个大的数

        //1>定义三个变量,将最大的存入第二大变量中

    //    int a = 0;

    //    int max = 0;

    //    int max1 = 0;//第二大数

    //    printf("please enter 10 positive number:");

    //    for (int i = 0; i<10; i++)

    //    {

    //        do

    //        {

    //          scanf("%d",&a);

    //        } while (a<=0);

    //        if (max<a)

    //        {

    //            max1 = max;

    //            max = a;

    //        }else if(max == a){

    //            

    //        }else if (max1<a){

    //            max1 = a;

    //        }

    //        

    //    }

    //    printf("max1=%d ",max1);//打印出第二大的数

        //面试题2:输入一个数,判断是几位数,倒着输出这几个数

        //1>将输入的数看做一个字符,getchar()去存取和读出,判断它是否为数字,计算出相应的位数

        

    //    int a = 0;

    //    int count = 0;

    //    do {

    //        printf("please input a positive number:");

    //        scanf("%d",&a);

    //    } while (a<=0);

    //        for (;a>0;a/=10)//计算每个数依次除10 ,而后再对十取余,就求出个位的数值,然后就实现逆序输出了

    //    {

    //        printf("%d",a%10);

    //        count++;

    //    }

    //    printf("   count=%d ",count);

  • 相关阅读:
    成为一名全栈工程师
    【DocFX文档翻译】DocFX 入门 (Getting Started with DocFX)
    SharePoint 2013 项目部署
    dynamics crm跳转到手机版本的页面
    Azure中block和Page的比较 Azure: Did You Know? Block vs Page Blobs
    斐讯k1路由器刷Breed BootLoader(不死UBoot)教程
    DynamicsCRM中的自动保存
    Migrating an ASP.NET MVC application to ADFS authentication
    说一下最近一个月的面试体会吧
    Boss直聘快速导出简历为PDF的方法
  • 原文地址:https://www.cnblogs.com/yuanyuandachao/p/3343423.html
Copyright © 2020-2023  润新知