zoukankan      html  css  js  c++  java
  • 重拾C,一天一点点_6

    break与continue
    continue只能用于循环语句
    goto
    最常见的用法是终止程序在某些深度嵌套的结构中的处理过程,例如一次跳出两层或多层循环。break只能从最内层循环退出到上一级的循环。

    //简单测试

     1 #include <stdio.h>
     2 main(){
     3     int i = 10;
     4     if(i > 0){
     5         //break;        //error
     6         //continue;        //error
     7         goto test;        
     8     }else{
     9         ;
    10     }
    11     printf("hello
    ");
    12     test:    {
    13         printf("world
    ");    //仅输出world 
    14     }            
    15     return 0;
    16 }
    View Code

    C程序可以保存在一个或多个源文件中,各个文件可以单独编译,并可以与库中已编译过的函数一起加载。
    函数定义:
        返回值 函数名(参数声明){
            声明和语句
    }
    dumy(){}    //该函数不执行任何操作也不返回任何值,如函数定义中省略了返回值类型,则默认为int类型。但在C99中定义函数必须有返回值。

    //某字符在某字符串中的位置

     1 #include <stdio.h>
     2 //#include <string.h>
     3 int strrindex(char s[],char c);
     4 int strlen(char s[]);
     5 
     6 main(){
     7     printf("%d
    ", strrindex("abcdefg",'c'));    //4
     8     printf("%d
    ", strrindex("abcdefg",'o'));    //-1
     9     printf("%d
    ", strlen("abcdefg   "));        //10,未去尾部空格 
    10     
    11     return 0;
    12 }
    13 
    14 /*****返回c在s中最后出现的位置****/
    15 int strrindex(char s[],char c){
    16     int n,i,j = 0;
    17     for(i=strlen(s)-1,j=0; i>=0; i--,j++){
    18         if(s[i] == c){
    19             return j;
    20         }
    21     }
    22     return -1;
    23 }
    24 
    25 int strlen(char s[]){
    26     int i = 0;
    27     while(s[i] != ''){
    28         i++;    
    29     }
    30     return i;
    31 }
    View Code

    //字符串c在字符串s中首次出现的位置,未找到返回-1

     1 #include <stdio.h>
     2 int strindex(char s[],char t[]);
     3 
     4 main(){
     5     printf("%d
    ", strindex("abcdefgabc","abc"));    //0
     6     printf("%d
    ", strindex("abcdefgabc","g"));    //6
     7     printf("%d
    ", strindex("abcdefg","xyz"));    //-1
     8     return 0;
     9 }
    10 
    11 /*****返回c在s中首次出现的位置****/
    12 int strindex(char s[],char t[]){
    13     int i,j,k;
    14     for(i=0; s[i]!=''; i++){
    15         for(j=i,k=0; t[k]!=''&&s[j]==t[k]; k++,j++) 
    16             ;    
    17         if(k > 0 && t[k] == ''){
    18             return i;
    19         }
    20     }    
    21     return -1;
    22 }
    View Code

    自己在算法面前就像一个傻子,脑袋怎么就不会转。。。

    今晚有点顶不住了,明晚继续,坚持!

    补充一道刚看到的题:

    在老北京的一个胡同的大杂院里,住着4户人家,巧合的是每家都有一对双胞胎女孩。这四对双胞胎中,姐姐分别是ABCD,妹妹分别是abcd。一天,一对外国游人夫妇来到这个大杂院里,看到她们8个,忍不住问:“你们谁和谁是一家的啊?”B说:“C的妹妹是d。”C说:“D的妹妹不是c。”A说:“B的妹妹不是a。”D说:“他们三个人中只有d的姐姐说的是事实。”如果D的话是真话,你能猜出谁和谁是双胞胎吗?

     1 D:true;
     2 char s[] = "sister";
     3 if(B:true){
     4     (B's == d) && (C's == d)=>B:false;
     5     C's != d;
     6 }
     7  
     8 if(C:true){
     9     (C's == d) && (C's != d)=>C:false;
    10     D's = c;
    11 }
    12 then (B:false) && (c:false)=>A:true=>{
    13     A's = d;
    14     (B's !=a) && (D's = c) && (A's = d)=>B's=b=>C's=a;
    15 }
    16 so
    17 A's = d;
    18 B's=b;
    19 C's=a;
    20 D's = c;

    原文博客地址:http://www.cnblogs.com/lltong/

  • 相关阅读:
    Spark Streaming自定义接收器
    between-flink-and-storm-Spark
    Java class loader 类加载器
    Spark 学习文章
    英文读音
    分布式系统论文
    git 常用命令
    CPU Cache
    elasticsearch 索引延迟 一致性问题等
    spark join
  • 原文地址:https://www.cnblogs.com/lltong/p/3379812.html
Copyright © 2011-2022 走看看