11.24上午(今天阳光明媚,开心)

C Prime Plus 字符串的一些练习题;

呃呃呃呃呃........

s_gets(char *str,int n)

char *ret_val=fgets(*str,n,stdin)

if(*ret_val)

        str=strchr(str,'\n')

                *str='\0'

return 0;

QAQ还要加油呀

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h> 

#define M1 "How are ya,sweetie?"
#define ANSWER "GRANT"
#define SIZE 40

char *pr(char*str);
char *s_gets(char *str,int n);
char *ToUpper(char* str);
char *str_han(char *str,int n); 

int main()

{
    //复习题!!!!!! 
    //【1】 
    /*★★char note[]="See you at the snake bar:";
    char *ptr;
    ptr=note;
    puts(++ptr);
    note[7]='\0';
    puts(note);
    puts(++ptr);*/
    
    
    
    //【2】
    /*★★ char food[]="Yummy";
     char *ptr;
     ptr=food+strlen(food);
     while(--ptr>=food)
         puts(ptr);*/
         
         
         
    //【3】
    /*★★char goldwyn[40]="art of it all ";
    char samuel[40]="I read p";
    const char*quote ="the way through.";
    
    strcat(goldwyn,quote);
    strcat(samuel,goldwyn);
    puts(samuel); */
    
    
    
    //【4】
    /*★★★☆ 
    char *x=pr("\0"); //打印结果;x的类型;x的打印;*--pc含义与--*pc的不同;把*--pc替换成*pc--的打印结果; 
                       //俩个while用来测什么的;pr()是空字符会如何;必需在main做什么才能让pr正常运行; 
                     //测*pc做四则运算后的地址 //'\0'会出现乱码 */
                     
                     
                     
    //【5】
    /*★char sign='$';
    printf("%d\n",sizeof(sign)); 
    printf("%d\n",sizeof('$'));
    printf("%d\n",sizeof("$"));*/
    
    
    
    //【6】
    /*★★☆char M2[40]="Beat the clock.";
    char *M3="chat";
    char words[80];
    printf(M1);
    puts(M1);
    puts(M2);
    puts(M2+1);
    strcpy(words,M2);
    strcat(words,"Win a toy.");
    puts(words);
    words[4]='\0';
    puts(words);
    while(*M3)
        puts(M3++);
    puts(--M3);
    puts(--M3);
    M3=M1;
    puts(M3);*/
    
    
    
     /*char str1[]="gawsie";
     char str2[]="bletonism";
     char *ps=;
     int i=0;
     for(ps=str1;*ps!='\0';ps++);
     {
         if(*ps=='a'||*ps=='e')
             putchar(*ps);
         else
             (*ps)--;
         putchar(*ps);
     } 
     putchar('\n');
     while(str2[i]!='\0')
     {
         printf("%c",i%3?str2[i]:'*');
         ++i;
     }*/
     
     
     
     // 【7】+【9】 
     //★☆ 
     /*char temp[5];
     printf("%s",s_gets(temp,8)); */
     
     
     
     //【10】就是【7】和【9】的变形 
      
      
      
     //【11】 
    /*★★★ char try[SIZE];
     puts("Who is buried in Grant's tomb?");
     s_gets(try,SIZE);
     ToUpper(try);
     while(strcmp(try,ANSWER)!=0)
     {
         puts("No, that's wrong. Try again");
         s_gets(try,SIZE);
     }    
     puts("That's right!");    */
     
     
     
     
     
     
     //编程练习 
    //【1】
    /* ★★☆char s[81];
     printf("%s",str_han(s,20));*/
     
     
     
    //【2】
    /*★★☆str_han函数里面*/ 
    
    
    
    
}

char *pr(char *str)             
{
    char *pc;
    pc=str;
    while(*pc)
        putchar(*pc++);
    do{
        putchar(*pc--);
    }while(pc-str);
    return(pc);
}

char *s_gets(char *st,int n)
{
    char *ret_val;
    
    ret_val=fgets(st,n,stdin);
    if(ret_val)
    {
            st=strchr(st,'\n');
                    *st='\0';
        /*    while(getchar()!='\n')//做enter的输入,再结束输入 ,【我的话会省略,用处不大,不太符合平常人使用】 
                continue;*/
    }
    return ret_val;
}

char *ToUpper(char *str)
{
    while(*str)
    {
        *str=toupper(*str);
        str++;//指针变量不用返回值 
    }
}

char *str_han(char *str,int n)
{
    int i=0;
    for(i=0;i<n;i++)
    {
        str[i]=getchar();
        /*if(str[i]=='\n'||str[i]==' ')
            str[i]='\0';*/
    }
    return str;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值