day04 homework

/*
    1.求1 x 2 x 3 x 4 x ... x 19 x 20的结果?
    
    double mul=1;
    for (int i=1; i<=20; i++) {
        mul *= i;
    }
    printf("mul=%lf",mul);
    
    2.打印1-100的数,并求1-100之和,奇数之和,偶数之和。
    
    int sum=0,sumo=0,sumj=0;
    for(int i=0;i<=100;i++)
    {
        sum +=i;
        if (i%2==0)
        {
            sumo +=i;
        }
        else
        {
            sumj +=i;
        }
    }
    printf("sum=%d,sumo=%d,sumj=%d",sum,sumo,sumj);
    
    3.随机产⽣生20个[10 , 100]的正整数,输出这些数以及他们中的 最⼤大数。
    
    
    int data=0,max=0;
    for (int i=0; i<20; i++) {
        data = arc4random()%91+10;
        if (max<data) {
            max = data;
        }
        printf("%4d",data);
    }
    printf(" max=%d\n",max);
    
    4.编程将所有“⽔水仙花数”打印出来,并打印其总个数。 “⽔水仙 花数”是⼀一个各个位⽴立⽅方之和等于该整数的三位数(个位数⽴立 ⽅方 + ⼗十位数⽴立⽅方 + 百位数⽴立⽅方 = 这个整数)。
    
    
    int count=0,x=0,y=0,z=0;
    for (int i=100; i<1000; i++)
    {
        x = i%10;
        y = i/10%10;
        z = i/10/10%10;
        if (i==x*x*x+y*y*y+z*z*z)
        {
            printf("%4d",i);
            count++;
        }
    }
    printf(" count=%d",count);
    
    5.已知abc+cba = 1333,其中a、b、c均为⼀一位数,编程求出 满⾜足条件的a、b、c所有组合。
    
   
    int data1=0,data2=0;
    for (int a=0; a<10; a++)
    {
        for (int b=0; b<10; b++)
        {
            for (int c=0; c<10; c++)
            {
                data1=a*100+b*10+c;
                data2=c*100+b*10+a;
                if (data1+data2==1333)
                {
                    printf("%2d%2d%2d\n",a,b,c);
                }
            }
        }
    }
    
    6.输⼊入两个数,求最⼤大公约数和最⼩小公倍数。(两种⽅方法:辗 转相除法和普通⽅方法)。
    //辗 转相除法
    int num1=0,num2=0;
    printf("亲输入2个数(num1 > num2):");
    scanf("%d%d",&num1,&num2);
    int temp=0,q=num1*num2;
    while (num2!=0)
    {
    temp=num1%num2;
    num1=num2;
    num2=temp;
    }
    printf("最大公约数是%d,最小公倍数数是%d",num1,q/num1);
    
    //普通⽅方法
    int num1=0,num2=0;
    printf("亲输入2个数:");
    scanf("%d%d",&num1,&num2);
    int temp=num1*num2;
    while (num2!=num1)
    {
    if(num1 > num2)
    {
    num1 -=num2;
    }
    else
    {
    num2 -=num1;
    }
    
    }
    printf("最大公约数是%d,最小公倍数数是%d",num1,temp/num1);

    7.找出1-99之间是7的倍数或者个位数字是7或者⼗十位数字是7 的数字,并输出这些数字,统计有多少个?
    
    int count=0;
    for (int i=1; i<100; i++) {
        if (i%7==0 || i%10==7 || i/10%10==7)
        {
            count++;
            printf("%3d",i);
        }
    }
    printf(" count=%d",count);
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值