C,C++回文字符串断定(字符串指针的用法)

    添加时间:2013-7-20 点击量:

    功能:输入一个字符串,断定是否为回文。


    首要锤炼指针的用法。


    1.C版



    #include<stdio.h>
    

    int main()
    {
    char he[100];
    char a;
    int i=0,flag=1;
    while((a=getchar())!=\n
    {
    he[i]
    =a;
    i
    ++;
    }
    int n=i;
    for(i=0;i<n/2;i++
    {
    printf(
    %c\t%c\n,he[i],he[n-1-i]);
    if(he[i]!=he[n-1-i])
    {
    printf(
    no);break;
    }
    }
    if(flag==1
    {
    printf(
    yes);
    }
    return 0;
    }


    getchar()函数依次获取一个输入,并赋给char型变量a,再经由过程a赋给char型数组he[]。


    当输入“\n”即回车时,跳出轮回。



    2.C++版



    #include<iostream>
    
    #include
    <string.h>
    using namespace std;

    int main(void
    {
    char p=abcba;
    int n=strlen(p);
    bool flag=1;
    int i;
    for(i=0;i<n/2;i++
    {
    cout
    <<p[i]<<\t<<p[n-1-i]<<endl;
    if(p[i]!=p[n-1-i])
    {
    flag
    =0;
    cout
    <<no<<endl;break;
    }
    }
    if(flag==1
    cout
    <<yes<<endl;
    return 0;
    }


    strlen()取长度



    3.C函数调用版



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

    int pp(char p)
    {
    int n=strlen(p),i;
    //printf(%d,n);
    if(p==NULL)return -1;
    for(i=0;i<n/2;i++
    {
    // printf(%c\t%c\n,p[i],p[n-1-i]);
    if(p[i]!=p[n-1-i])
    {
    return 0;
    }
    }
    return 1;
    }

    int main()
    {
    char p=abcba;
    int a=pp(p);
    printf(
    %d,a);
    }


    pp()为一个int型函数,故返回一个int型的值,在主函数中经由过程声明一个int a来接管。



    我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
    分享到: