iOS-C_Day5___循环练习

2015.1.23

//循环(计算某个数的位数) 输入一个正整数, 计算这个正整数的位数

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

//    int n;

//    int cnt=0;

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

//    while (n) {

//        cnt++;

//        n/=10;

//    }

//    printf("cnt = %d\n", cnt);

//

//    return 0;

//}

//a=1 b=1

//a+b/a   2/1  a = 2 b = 1

//a+b/a   3/2  a = 3 b = 2

//a+b/a   5/3  a = 5 b = 3

//...

//9 流程控制(数值序列2) 输出数字序列 2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入 feibonaqi

//\

//比如:

//

//输入 3输出为

//

//2/1

//3/2

//5/3

//

//输入 4 输出为

//2/1

//3/2

//5/3

//8/5

//\

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

//{

//    int n;

//    int a=1,b=1;

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

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

//        int temp;

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

//        temp = a+b;

//        b = a;

//        a = temp;

//    }

//    printf("\n");

//    return 0;

//}

//交换两个两个变量的值

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

//{

//    int a=3, b=5;

//    /*

//    int tmp = a;

//    a = b;//a = 5;

//    b = tmp;// b=3;

//    printf("a = %d b= %d\n", a, b);

//     */

//    //不借助中间变量交换a , b 的值

//    a=a+b;

//    b=a-b;

//    a=a-b;

//    printf("a = %d b= %d\n", a, b);

//    return 0;

//}

//流程控制(数值序列3) 输出数字序列 1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入

//\

//比如:

//\

//输入 3输出为

//

//1

//2

//3

//

//输入 4 输出为

//1

//2

//3

//5

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

{

int n, a=0,b=1;

scanf("%d", &n);

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

printf("%d ", a+b);

int tmp = a+b;

a = b;

b = tmp;

}

return 0;

}*/

//求最大公约数

//辗转相除法

//a    b        a%b

//319 377 --->  319

//377 319 --->   58

//319 58  --->   29

//58  29  --->   0

//29  0

//control + i

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

//{

//    int a, b;

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

//    while (b) {

//        int tmp = a%b;

//        a = b;

//        b = tmp;

//    }

//    printf("%d\n", a);

//    return 0;

//}

//流程控制(for求阶乘的和 ) 输入n(int类型),打印1!+2!+3!+4!+5!+。。。+n!的值

//比如:

//

//输入:2

//输出:

//3

//

//输入:3

//

//输出:

//9

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

//{

//    int Sn = 0;

//    int n;

//    int temp=1;

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

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

//        temp = i*temp;// n!

//        Sn += temp;

//    }

//    printf("Sn = %d\n", Sn);

//

//    return 0;

//}

//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

//n    i     n%i

//90 / 2 ---> 0

//45 / 2 ---> 1

//45 / 3 ---> 0

//15 / 3 ---> 0

//5  / 3 ---> 2

//5  / 4 ---> 1

//5  / 5 ---> 0

//1

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

//{

//    int n;

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

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

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

//        if (!(n%i)) {

//            n!=i?printf("%d*", i):printf("%d",i);

//            n/=i;

//            i--;

//        }

//    }

//    printf("\n");

//    return 0;

//}

//19. 流程控制(for循环) 输入一个大写字母,如F

//\

//比如:

//\

//输入:F

//\

//输出:

//

//     A

//    ABA

//   ABCBA

//  ABCDCBA

// ABCDEDCBA

//ABCDEFEDCBA

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

{

char ch;

scanf("%c", &ch);

for (int i=0; i<ch-‘A‘+1; i++) {

for (int j=0; j<ch-i-‘A‘; j++) {

printf(" ");

}

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

printf("%c", ‘A‘+j);

}

for (int j=i; j>0; j--) {

printf("%c", ‘A‘+j-1);

}

printf("\n");

}

return 0;

}

*/

//21. 流程控制(for循环) 输入一个大写字符,如F

//\

//比如:

//

//输入:F

//

//输出:

//

//FEDCBA

// EDCBAB

//  DCBABC

//   CBABCD

//    BABCDE

//     ABCDEF

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

{

char ch;

scanf("%c", &ch);

for (int i=0; i<ch-‘A‘+1; i++) {

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

printf(" ");

}

for (int j=i; j<ch-‘A‘+1; j++) {

printf("%c", ch-j);

}

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

printf("%c", ‘A‘+j+1);

}

printf("\n");

}

return 0;

}*/

//输入一个大写字符,如F

//比如:

//输入:F

//输出:

//FEDCBA

//EDCBAB

//DCBABC

//CBABCD

//BABCDE

//ABCDEF

//

//输入 B

//输出:

//BA

//AB

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

//{

//    char ch;

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

//    for (int i=0; i<ch-‘A‘+1; i++) {

//        for (int j=i; j<ch-‘A‘+1; j++) {

//            printf("%c", ch-j);

//        }

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

//            printf("%c", ‘A‘+1+j);

//        }

//

//        printf("\n");

//    }

//    return 0;

//}

//输入一个大写字母,如F

//比如:

//输入:F

//输出:

//A

//ABA

//ABCBA

//ABCDCBA

//ABCDEDCBA

//ABCDEFEDCBA

//

//输入:C

//输出:

//A

//ABA

//ABCBA

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

{

char ch;

scanf("%c", &ch);

for (int i=0; i<ch-‘A‘+1; i++) {

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

printf("%c", ‘A‘+j);

}

for (int j=i; j>0; j--) {

printf("%c",‘A‘+j-1);

}

printf("\n");

}

return 0;

}*/

//输入年月日, 判断是一年中的第多少天

//2015 1 31 //31

//2015 3 1  //31 + 28 + 1 = 60

//2012 3 1  //31 + 29 + 1 = 61

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

{

int year, month, day;

int total=0;

scanf("%d %d %d", &year, &month, &day);

for (int i=1; i<month; i++) {

switch (i) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

total+=31;

break;

case 2:

if ((!(year%4) && year%100) || !(year%400)) {

total+=29;

}

else

{

total+=28;

}

break;

case 4:

case 6:

case 9:

case 11:

total+=30;

break;

default:

break;

}

}

total+=day;

printf("总天数%d\n", total);

return 0;

}

时间: 2024-10-25 05:13:15

iOS-C_Day5___循环练习的相关文章

iOS消息循环-模式匹配

以下内容均来自互联网,但属于个人摘录总结,主要分析一下“只有当消息循环的模式与事件模式匹配时,消息循环才会运行”这句话的模式匹配,是哪些模式匹配哪些模式. 每个线程都有一个消息循环,主线程消息循环默认开启,子线程消息循环默认都是关闭的,需要手动开启.消息循环与线程之间是一一对应的关系,其关系保存在一个全局字典里面(字典的key为线程,value为消息循环). 你只能在线程结束时销毁消息循环.除了主线程即UI线程,你只能在线程内部获取消息循环. 为消息循环添加事件,事件有两种类型: 输入源:异步传

iOS无限循环滚动实现

原文链接: iOS无限循环滚动实现 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

iOS Block循环引用

前言 本篇文章精讲iOS开发中使用Block时一定要注意内存管理问题,很容易造成循环引用.本篇文章的目标是帮助大家快速掌握使用block的技巧. 我相信大家都觉得使用block给开发带来了多大的便利,但是有很多开发者对block内存管理掌握得不够好,导致经常出现循环引用的问题.对于新手来说,出现循环引用时,是很难去查找的,因此通过Leaks不一定能检测出来,更重要的还是要靠自己的分析来推断出来. 声景一:Controller之间block传值 现在,我们声明两个控制器类,一个叫ViewContr

iOS scrollview循环播放加缩放

前些日子一直在研究3d的框架没有时间写博客,不过最后需求改了,也没研究出个啥.这段时间出了新的需求,需要循环播放图片,并且滑动的时候中间的图片有缩放的效果.刚开始想在网上搜索,不过并没有找到合适的demo,没办法只能写个了. 首先说下思路,做这个效果需要解决三个问题. 第一个问题,如何控制每次滑动的距离.iOS中好像并没有设置scrollview每次滑动的距离吧.设置其画框的大小和pageenable的时候已经决定了其每次滑动的距离.但是需求要显示三张图片啊,中间大图,两边的图片只显示一部分.也

iOS Block循环引用精讲

前言 循环引用就是当self 拥有一个block的时候,在block 又调用self的方法.形成你中有我,我中有你,谁都无法将谁释放的困局.又或者解决方法简而言之就一句话的事情:__weak typeof (self) weakSelf = self; 本篇文章精讲iOS开发中使用Block时一定要注意内存管理问题,很容易造成循环引用.本篇文章的目标是帮助大家快速掌握使用block的技巧. 我相信大家都觉得使用block给开发带来了多大的便利,但是有很多开发者对block内存管理掌握得不够好,导

iOS无限循环滚动scrollview

经常有园友会问"博主,有没有图片无限滚动的Demo呀?", 正儿八经的图片滚动的Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用的图片轮播.没看过其他iOS图片无限轮播的代码,也不了解他们的原理,我今天封装这个图片无限轮播是借鉴Web前端中的做法,因为之前写Web前端的时候,实现幻灯片就是这么做的,今天就在iPhone上搞搞.下面的东西是自己写的了,关于轮播的东西这个开源项目也是相当不错的https://github.com/nicklockwood/iCarousel ,

ios block 循环引用

无意中看到有人在咨询block循环引用如何解决的问题:记录下来,方便童鞋们参考 ios开发中,开了ARC模式,系统自动管理内存,如果程序中用到了block就要注意循环引用带来的内存泄露问题了 这几天遇到一个问题,正常页面dismiss的时候是要调用dealloc方法的,但是我的程序就是不调用,研究了好久终于找到了问题出在哪里了 起初的代码如下: - (void)getMyrelatedShops { [self.loadTimer invalidate]; self.loadTimer = [N

iOS: 无限循环轮播图简单封装

轮播图思路: 1.首先要有一个ScrollView和两张图片,把图片放到ScrollView上. 2.要想滚动ScrollView的宽度需设置屏宽的2倍. 3.循环滚动,当滚动到最后一张图片时,采用偏移的方法,将偏移量归零,回到第一张图片. 4.将第二张的图片上的所有值赋给第一张图片. 5.设置让它自己滚动,需添加定时器. 需要的第三方数据库:SDWebImage m.文件内: #imporst "ScrollView.h" @interface ScrollView ()<UI

初识iOS NSTimer 循环引用不释放问题

原文转自 :http://www.codecate.com/code/?p=77 最近开发遇到NSTimer Target 造成循环引用问题,不释放,以下是解决方案. stackoverflow上的一个解决方案 http://stackoverflow.com/questions/16821736/weak-reference-to-nstimer-target-to-prevent-retain-cycle 原文如下 Weak Reference to NSTimer Target To Pr

IOS开发--循环引用问题,普通控件为什么用weak,代理为什么用weak,block内用到外面的东

所有的引用计数系统,都存在循环应用的问题. 例如下面的引用关系对象: a创建并引用到了对象b. 对象b创建并引用到了对象c. 对象c创建并引用到了对象b. 这时候b和c的引用计数分别是2和1.当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放.b不释放,c的引用计数就是1,c也不会被释放.从此,b和c永远留在内存中,造成内存浪费.这种情况,必须打断循环引用,通过其他规则来维护引用关系. 那么普通控件为什么要用weak: 如下图控制器中的Vie