iOS入门(四)数组

辗转相除法  :  a与b的公约数   等价于   a%b  与b  的公约数。
     a% b = c           b % c = d      ……

 

//        辗转相除法

//        int a = 0 , b = 0 ,r = 0 ;

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

//        r=a;

//        a>b?0:(a=b,b=r);

//        while (a%b!=0) {

//            r=b;

//            b=a%b;

//            a=r;

//        }

//        printf("最大公约数为%d\n",b);

//

//       阶乘之和

//        int su = 1 , sum = 0 , n = 0 ;

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

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

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

//                su *=  j ;

//            }

//            sum +=su ;

//            su = 1 ;

//        }

//        printf(" \n1到%d 的阶乘之和为  :   %d   \n\n\n " , n , sum );

//        int n = 0 , sum = 0 , a = 1 ;

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

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

//            a *= i ;

//            sum += a ;

//        }

//        printf("阶乘和为  :   %d \n\n\n" , sum ) ;


//        int a = 1 , b = 0  , sum = 0;

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

//        for (int i = b ; i >= 1 ; i --) {

//            sum += a * i ;

//            a *= 10;

//            }

//        printf(" \n\n答案为    :      %d    \n\n\n" , sum );

        

//        int a = 0 , b = 0 ,sum = 0 ;

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

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

//            int r = 0 ;

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

//                r  = r * 10 + a ;

//            }

//            sum += r ;

//        }

//        printf("\n\n答案为   :      %d \n" , sum );

 

//        int a = 0 , b =  0 , sum = 0 ;

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

//        int r = 0 ;

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

//            r = a + r * 10 ;

//            sum += r ;

//        }

//        printf(" \n\n答案为  :     %d \n\n" , sum ) ;


 

定义数组       :        数据类型   数组名【数组长度】 = { 值1,值2, 值3,……}

 

        int array [10] = {2,3,5,4,2,9,5,65,25,8};

        char str[5] = { 'j','h','a','w','i'};

c语言检查不出数组越界。

取数组元素       :      数组名【下标】           与定义数组的区别在于数据类型。

 

        int array [5] = {0};

        int a = 5 ;

        array[0] = a ++;

        array[1] = ++array[0];

        array[--a-1] = a --;

        array[a--] = array [1];

        array[2] = array[3];

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

            printf(" %d\n" ,array[i]);

        }

 

 

答案      :      6 6 6 6 6 
通过for循环对数组中的每个元素执行一些操作,
char 一个字节    int 4个字节   float 4个字节  

使用循环打印三角形
    
  ***
*****

使用嵌套循环产生下列图案:
F
FE
FED
FEDC
FEDCB
FEDCBA
字母F由终端输入。

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。

整元换零钱问题,把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。
通过枚举值来表示1分,2分,5分。


//        printf("  题目一    :     \n\n\n " ) ;

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

//            for (int j = 3 ; j >= i ;  j -- ) {

//                printf( " \t");

//            }

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

//                printf("*\t");

//            }

//            printf("\n");

//        }

        

//        int n = 0 ;

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

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

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

//                if ( j < n -i-1 )

//                    printf(" " );

//                else

//                    printf( "*" ) ;

//            }

//            printf("\n" ) ;

//        }

        

//        printf("  题目二      :       \n\n\n");

//        char a ;

//        printf(" 请输入一个字符   :      ");

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

//        for (int j = 0 ; j < 6 ; j ++ ) {

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

//            printf("%c"  , a-i);

//        }

//        printf(" \n" );

//        }

        

//        printf("  题目三      :      \n ");

//        int n = 1 ;

//        for (int i = 10 ; i > 0 ; i -- ) {

//            n = ( n + 1 ) * 2 ;

//            printf(" 第- 天剩下的桃子数目为    : %d   \n " , i , n /2 - 1);

//        }

 

//        printf("  题目四    :    \n\n\n");

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

//            for (int j = 1 ; j <= 50; j ++) {

//                for (int k = 1 ; k <= 20 ; k ++ ) {

//                    if ( i + j * 2 + k * 5 ==100)

//                        printf("-, -, - \n" , i , j  , k );

//                }

//            }

//        }

        

  

//        enum n {

//            one  = 1 ,

//            two  = 2,

//            five   = 5 ,

//        };

//        int count = 0 ;

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

//            for ( int j = 0 ;  j <= 50 ; j ++ ) {

//                for (int k = 0; k <= 20 ; k ++ ) {

//                    if (i * one + j * two + k * five == 100 ) {

//                        printf("   %d    %d    %d    \n" , i , j , k ) ;

//                        count ++;

//                    }

//                }

//            }

//        }

//        printf(" 一共有  %d   种组合方法   。  \n\n\n"  , count );


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值