第十次作业

1、编写程序,统计字符串中大写字母的个数

#include <stdio.h>
main()
{
    char str[80];
    int i=0;
    int cnt=0;
    printf("请输入你的字母:");
    gets(str);
    while ( str[i]!='\0' )
    {
        if ( str[i]>='A'&&str[i]<='Z' )
            cnt++;
        i++;
    }
    printf("字符串中大写字母的个数为:%d\n",cnt);
}

2、编写程序,去掉字符串中所有的星号。例如,“******AB*****C***DE**FG**”,处理完为“ABCDEFG”

#include <stdio.h>
main()
{
    char str[80];
    int i,j;
    i=j=0;
    printf("请输入你的带‘*’的语句:\n");
    gets(str);
    while ( str[i]!='\0' )
    {
        if ( str[i]!='*' )
            str[j++]=str[i];
        i++;
    }
    i=0;
    while(i<j)
        putchar(str[i++]);
}

3、编写程序,将字符数组a中的字母复制到字符数组b中,要求每三个字符后插入一个空格。例如,字符数组a:“ABCDEFGHIJK”,字符数组b:“ABC DEF GHI JK”

#include <stdio.h>
main()
{
    char a[20],b[20];
    int i,j;
    gets(a);
    for ( i=j=0;a[i]!='\0';i++ )
    {
        b[j++]=a[i];
        if ( (i+1)%3==0 )
        {
            b[j++]=' ';
        }
    }
    b[j]='\0';
    puts(b);
}

4、输出字符串中位置为奇数、ASCII为偶数的字符

#include <stdio.h>
main()
{
    char str[20];
    int i;
    i=0;
    gets(str);
    while (str[i]!='\0')
    {
        if ( (i+1)%2==1&&str[i]%2==0 )
            putchar ( str[i] );
        i++;
    }
}

5、统计字符串中个数字字符的个数

#include<stdio.h>
main()
{
    char str[80];
    int cnt[10]={0};
    int i=0;
    gets(str);
    while(str[i]>='0'&&str[i]<='9')
    {
        cnt[(str[i]-'0')%10]++;
        i++;
     } 
     for (i=0;i<=9;i++)
     {
         printf("数字字符%d:%d个\n",i,cnt[i]); 
     }
}

posted @ 2021-11-25 21:07  宗谷  阅读(94)  评论(0)    收藏  举报