ios学习笔记--(c基础题1)

ios学习笔记--(c基础题1)

    //1、打印1 - 100中不能被7整除又不包含7的数
    test1();
    //2、输入两个数,求最大公约数和最小公倍数。(最大公约数,最大可以对两个整数约分的数字)
    test2();
    3、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
    test3();
    //4、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数。
   test4();
    //    5、使用循环打印三角形
    //  *

// **
// *
// **
// *
test5();
//6、编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入。当用户输入0或负数时,程序必须显示出已输入的最大非负数。
test6();
//7、求S(n) = a+aa+aaa+aaaa+…+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
test7();
//8、求1!+2!+3!+4!+..+20!
test8();
//9、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
test9();
//10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天 早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子.
test10();

//
//  main.m
//  c23 test
//
//  Created by dq on 15/7/16.
//  Copyright (c) 2015年 dq. All rights reserved.
//

#import <Foundation/Foundation.h>
void test1()
{
    for (int i=1; i<=100; i++) {
        if(i%10!=7&&i%7!=0&&i!=7)
        {
            printf("%d\n",i);
        }
    }
}
void test2()
{
    printf("请输入两个数");
    int a,b,temp,max,min;
    scanf("%d,%d",&a,&b);
    if(a>b)
    {
        max=a;
        min=b;
    }
    else
    {
        max =b;
        min =a;
    }
    while (min) {//循环条件  注意

        temp =max%min;
        max=min;
        min=temp;

    }
    printf(" 最大公约数:%d\n",max);
    printf("最大公倍数%d",a*b/max);

}
void test3(){
    int a,max=0;
    for (int i=0; i<20; i++) {
        a=arc4random()%91+10;
        if(a>max)
            {
                max=a;
            }
    }
    printf("%d",max);
}
void test4(){
    int count,sum;
    for (int i=100; i<=999; i++) {

    sum = (i/100)*(i/100)*(i/100)+((i/10)%10)*((i/10)%10)*((i/10)%10)+(i%10)*(i%10)*(i%10);
        if(sum ==i){
        printf("%d\n",i);
            count++;
    }


}
       printf("次数%d",count);
}

void test5()
{
    for (int i=1; i<=5; i++) {
        for (int j=1; j<=i; j++) {
            printf("*");
        }
        printf("\n");
    }
}

void test6(){
    int a,max=0;

    for (int i=0; i<99; i++) {
        printf("请输入数 \n");
        scanf("%d",&a);
        if(a>max)
        {
            max=a;
        }
        if (a<=0) {
            break;
        }
    }
    printf("  最大数是%d",max);
}

void test7(){
    int a,n,sum=0,sum1;
    printf("请输入a和n\n");
    scanf("%d,%d",&a,&n);
    sum1=a;
    for (int i=1; i<=n; i++) {

            sum1=sum1*10+a;

        sum =sum+sum1;
    }
    printf("%d",sum);
}

void test8(){
    long int n=20,a=1,sum=0;
    for (int i=1; i<=n; i++) {
        a=1;     //要将a重置为1
        for (int j=1; j<=i; j++) {
            a=a*j;
        }
        sum =sum+a;
    }
    printf("%ld",sum);
}

void test9()
{
    float n=100,sum=0;
    for (int i=0; i<10; i++) {
        sum=sum+n*2;
        n/=2;

    }
    printf("下落%f最后一次%f",sum-100,n);
}
void test10(){
    int count=1;
    for (int i=1; i<10; i++) {
        count=(count+1)*2;

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

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //1、打印1 - 100中不能被7整除又不包含7的数
        //test1();
        //2、输入两个数,求最大公约数和最小公倍数。(最大公约数,最大可以对两个整数约分的数字)
        //test2();
        3、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
       // test3();
        //4、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个各个位立方之和等于该整数的三位数。
       //test4();
        //    5、使用循环打印三角形
        //  *
//            **
//            ***
//            ****
//            *****
     // test5();
        //6、编写程序,找出用户输入的一串数中的最大数。程序需要提示用户一个一个地输入。当用户输入0或负数时,程序必须显示出已输入的最大非负数。
      // test6();
        //7、求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。
     //   test7();
        //8、求1!+2!+3!+4!+..+20!
       //test8();
        //9、一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第10次反弹多高?
     // test9();
        //10、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天    早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子.
      //test10();
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值