• c primer plus 11 复习题


    9、

    #include <stdio.h>
    
    char *s_gets(char *st, int n);
    
    int main(void)
    {
        char st1[100];
        
        s_gets(st1, 100);
        
        puts(st1);
        
        return 0;
    }
    
    char *s_gets(char *st, int n)
    {
        char *ret_val;
        
        ret_val = fgets(st, n, stdin);
        
        if(ret_val)
        {
            while(*st != '
    ' && *st != '')
                st++;
            
            if(*st == '
    ')
                *st = '';
            else
                while(getchar() != '
    ')
                    continue;
        }
        return ret_val;
    }

    10、

    #include <stdio.h>
    
    int strlen2(char *ar);
    
    int main(void)
    {
        char st1[100] = "3sdfad";
        int n;
        
        n = strlen2(st1);
        
        printf("n: %d.
    ", n);
        
        return 0;
    } 
     
    int strlen2(char * ar)
    {
        int  count = 0;
        
        while(*ar)
        {
            count++;
            ar++;
        }
        return count;
    }

    11、

    #include <stdio.h>
    #include <string.h>
    
    #define SIZE 100
    
    char *s_gets(char *st, int n);
    
    int main(void)
    {
        char st1[SIZE];
        
        puts("input the strings.");
        
        s_gets(st1, SIZE);
        
        puts(st1);
        
        return 0;    
    } 
    
    char *s_gets(char *st, int n)
    {
        char *ret_val;
        int i = 0;
        char * find;
        
        
        ret_val = fgets(st, n, stdin);
        
        if(ret_val)
        {
            find = strchr(st, '
    ');
            
            if(find)
                *find = '';
            else
                while(getchar() != '
    ')
                    continue;
        }
        
        return ret_val;
    }

    12、

    #include <stdio.h>
    
    char * null(char * ar);
    
    int main(void)
    {
        char st1[100] = "a f ds";
        char st2[100] = "af ds";
        
        char * temp1, * temp2;
        
        temp1 = null(st1);
        puts(temp1);
        
        temp2 = null(st2);
        puts(temp2);
        
        return 0;
    }
    
    char * null(char * ar)
    {
        while(*ar != ' ')
            ar++;
        
        if(*ar == ' ')
            return ar;
        else
            return NULL;
    }

    13、

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    #define ANSWER "GRANT"
    #define SIZE 90
    
    char *s_gets(char *st, int n);
    
    void ToUpper(char *ar);
    
    int main(void)
    {
        char try[SIZE];
        puts("input try:");
        
        s_gets(try, SIZE);
        ToUpper(try);
        
        while(strcmp(try, ANSWER))
        {
            puts("wrong, try again.");
            s_gets(try, SIZE);
            ToUpper(try);
        }
        puts("right!");
        
        return 0;    
    }
    
    char *s_gets(char *st, int n)
    {
        char *ret_val;
        int i = 0;
        
        ret_val = fgets(st, n, stdin);
        
        if(ret_val)
        {
            while(st[i] != '
    ' && st[i] != '')
                i++;
            
            if(st[i] == '
    ')
                st[i] = '';
            else
                while(getchar() != '
    ')
                    continue;
        }
        
        return ret_val;
    }
    
    void ToUpper(char * ar)
    {
        while(*ar != '')
        {
            *ar = toupper(*ar);
            ar++;
        }
    }

  • 相关阅读:
    php 使用正则匹配中文 返回结果
    怎样判断一个jquery对象是否为空jquery对象
    关于tp5.0中对象数组转换普通数组使用助手函数collection而不是toArray
    PHP 面试题三
    PHP 面试题二
    PHP 面试题 一
    laravel 学习笔记 —— 神奇的服务容器
    ubuntu下安装opencv库+Python2.7环境安装及开发摄像头拍照应用
    Linux内核分析(七)----并发与竞态
    Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15306437.html
Copyright © 2020-2023  润新知