c语言练习题目.docx

上传人:b****8 文档编号:10042660 上传时间:2023-02-08 格式:DOCX 页数:13 大小:18.18KB
下载 相关 举报
c语言练习题目.docx_第1页
第1页 / 共13页
c语言练习题目.docx_第2页
第2页 / 共13页
c语言练习题目.docx_第3页
第3页 / 共13页
c语言练习题目.docx_第4页
第4页 / 共13页
c语言练习题目.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

c语言练习题目.docx

《c语言练习题目.docx》由会员分享,可在线阅读,更多相关《c语言练习题目.docx(13页珍藏版)》请在冰豆网上搜索。

c语言练习题目.docx

c语言练习题目

1、题目描述

输入任意4个字符,并按反序输出。

输入

输入第一行表示测试样例个数m,接下来m行每行一个字符串。

输出

输出m行,分别对应输入字符串的反序。

样例输入

2

abcd

eerd

样例输出

dcba

dree

#include

#include

intmain()

{

    intn;

    charc[5];

    scanf("%d",&n);

    for(inti=0;i

    {

        scanf("%s",&c);

        for(intj=3;j>=0;j--)

            printf("%c",c[j]);

        printf("\n");

    }

    //system("pause");

    return0;

}

2、题目描述

输入一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成),分别统计出其中大写英文字母,小写英文字母、阿拉伯数字和空格的个数。

输入

一行字符串(字符串长度小于10000,由大小写字母、阿拉伯数字和空格组成)

输出

分别输出大写英文字母,小写英文字母、阿拉伯数字和空格的个数,用空格隔开

样例输入

h0u84nfx7

样例输出

0541

#include

#include

#include

#include

#include

 

usingnamespacestd;

 

constintN=20000;

chars[N];

 

intmain(){

    gets(s);

    intt[4];

    memset(t,0,sizeof(t));

    intlen=strlen(s);

    for(inti=0;i

        intid=3;

        if(s[i]>='A'&&s[i]<='Z')id=0;

        if(s[i]>='a'&&s[i]<='z')id=1;

        if(s[i]>='0'&&s[i]<='9')id=2;

        if(s[i]=='')id=3;

        t[id]++;

    }

    printf("%d%d%d%d\n",t[0],t[1],t[2],t[3]);

    return0;

}

3、题目描述

输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。

输入

测试数据有多组,每组输入字符串s和字符c。

输出

对于每组输入,输出去除c字符后的结果。

样例输入

goaod

a

样例输出

good

#include

 

intmain()

{

    chars[1000],c[2];

    inti;

    while(gets(s))

    {

        gets(c);

        for(i=0;s[i];i++)

            if(s[i]!

=c[0])

                printf("%c",s[i]);

        puts("");

    }

    return0;

}

4、题目描述

统计一个给定字符串中指定的字符出现的次数。

输入

测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。

注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。

当读到'#'时输入结束,相应的结果不要输出。

输出

对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出:

c0n0

c1n1

c2n2

... 

其中ci是第1行中第i个字符,ni是ci出现的次数。

样例输入

I

THISISATEST

ing

thisisalongteststring

#

样例输出

I2

i3

5

n2

g2

#include

 

intmain(){

    charstr1[10],str2[100];

    while(gets(str1)&&str1[0]!

='#'){

        gets(str2);

 

        inti=0;

        while(str1[i]){

            intj=0,count=0;

            while(str2[j]){

                if(str1[i]==str2[j]){

                    count++;

                }

                j++;

            }

            printf("%c%d\n",str1[i],count);

            i++;

        }

    }

 

    return0;

}

5、题目描述

我们把只有0和1组成的字符串叫做比特字符串。

如果比特字符串中1的个数为奇数,则称这个比特字符串是奇性的。

如果比特字符串中1的个数为偶数,则称这个比特字符串是偶性的。

注意:

(1)0是偶数,所以不包含1的比特字符串是偶性的。

(2)0的个数不影响比特字符串的奇偶性。

输入

输入包含多组测试数据。

每组数据由1~31个0、1组成,最后跟一个小写字母e或o,e表示此比特字符串应为偶性,o表示此比特字符串应为奇性。

当输入#时,表示输入结束。

输出

每组输入对应一个输出,你应该将最后的字母替换成0或1,使得此比特字符串符合输入时确定的奇偶性。

样例输入

101e

010010o

1e

000e

110100101o

#

样例输出

1010

0100101

11

0000

1101001010

#include

#include

 

intmain()

{

    inti,k,l;

    chara[35];

    while(gets(a))

    {

        k=0;

        if(!

strcmp(a,"#"))

            break;

        l=strlen(a);

        for(i=0;i

            if(a[i]=='1')

                k++;

        if(k%2==0)

        {

            if(a[l-1]=='e')

                a[l-1]='0';

            else

                a[l-1]='1';

        }

        else

        {

            if(a[l-1]=='e')

                a[l-1]='1';

            else

                a[l-1]='0';

        }

        printf("%s\n",a);

    }

    return0;

}

6、题目描述:

国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。

 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。

如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。

如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。

 给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。

样例输入

AABBBBAAAABBBBAA

样例输出

4

#include 

#include

int main(){

char s[105];

scanf("%s",s);

int l=strlen(s);

while(l!

=1){

int ok=1;

for(int i=0;i

if(s[i]!

=s[l-1-i]) {

ok=0;

break;

}

}

if(ok) l=l/2;

if(!

ok) break;

}

printf("%d",l);

}

7、题目描述

现请你输出指定大小的“ACM”字符串。

特别地,我们要求输出的字符串是正方形的(行数和列数相等)。

输入

输入的第一行是一个正整数N(N<=20),表示一共有N组数据,接着是N行数据,每行包含一个正整数M(M<=50),表示一行内有M个“ACM”相连。

输出

输出指定的正方形字符串。

样例输入

2

1

2

样例输出

ACM

ACM

ACM

ACMACM

ACMACM

ACMACM

ACMACM

ACMACM

ACMACM

提示

来源

#include

 

intmain()

{

    intn,m,i,t;

    scanf("%d",&n);

    while(n--)

    {

        scanf("%d",&m);

        t=m;

        for(i=0;i

        {

            while(m--)

            printf("ACM");

            printf("\n");

            m=t;

        }

    }

    return0;

}

8、题目描述

一个二进制数,将其每一位取反,称之为这个数的反码。

下面我们定义一个字符的反码。

如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。

举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。

一个字符串的反码定义为其所有字符的反码。

我们的任务就是计算出给定字符串的反码。

输入

输入每行都是一个字符串,字符串长度不超过80个字符。

如果输入只有!

,表示输入结束,不需要处理。

输出

对于输入的每个字符串,输出其反码,每个数据占一行。

样例输入

Hello

JLU-CCST-2011

!

样例输出

Svool

QOF-XXHG-2011

#include

#include

 

char*StringInverted(char*str){

    inti=0;

    while(str[i]){

        if('a'<=str[i]&&str[i]<='z'){

            str[i]='z'-str[i]+'a';

        }elseif('A'<=str[i]&&str[i]<='Z'){

            str[i]='Z'-str[i]+'A';

        }

        i++;

    }

    returnstr;

}

 

intmain(){

    charstr[100];

    while(gets(str),strcmp(str,"!

")){

        puts(StringInverted(str));

    }

 

    return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1