第十一次作业

  1. 编写程序,实现strlen()函数的功能
    #include<stdio.h>
    main()
    {
        char str[80];
        int i=0;
        int length=0;
        gets(str);
        puts(str);
        while(str[i++]!='\0')
            length++;
        printf("字符串的长度为:%d\n",length);
    }

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

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

  3.  

     

    3.编写程序,去掉字符串中所有的星号。例如,“****AB*C* **DE**FG***”,处理完为“ ABCDEFG”
    #include<stdio.h> main() { char str[20]; int i,j; j=i=0; gets(str); while(str[i]!='\0') { if(str[i]!='*') str[j++]=str[i]; i++; } i=0; while(i<j) putchar(str[i++]); }

  4. 写程序,将字符数组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);
    }

  5. 输出字符串中位置为奇数,ASCII为偶数的字符

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

     

  6. 统计字符串中各数字字符的个数

    #include<stdio.h>
    main()
    {
        char str[80];
        int cnt[10]={0};
        int i=0;
        gets(str);
        while(str[i]!='\0')
        {
            if(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-27 20:28  张云月  阅读(18)  评论(0)    收藏  举报