首页 > 代码库 > c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

 

#include <stdio.h>

#include <ctype.h> 

#pragma mark 统计从终端输入的字符中每个大写字母的个数。用#号作为输入结束标志

int main()

{

    int num[26] = {0}, i; char c;

    while ((c = getchar())!=‘#‘) {

        if (isupper(c)) {

            num[c-65]++;

        }

    }

    for (int i = 0; i<26; i++) {

        if (num[i]) {

            printf("%c:%d\n",i+65, num[i]);

        }

    }

    return 0;

}

 

#pragma mark 统计一行字符中单词个数

int main()

{

    char  s[81];

    int   i , c, num=0,word=0;

    gets(s);

    for(i=0;(c=s[i])!=‘\0‘;i++){      

        /*一:判断*/

        if (c == 32) {

            word++;

        }else continue;

    }

    /*二:判断*/

    if(c==‘ ‘)  word = 0;

    else if (word==0)  {word=1; num++;}

    printf("there  are  %d  words.\n",word);

    return 0;

}

 

#include <stdio.h>

#pragma mark 计算一个字符串中子串出现的次数

int main()

{

    int i ,j, k,count;

    char  str1[20],str2[20];

    printf("zhu chuan:");

    gets(str1);

    printf("zi chuan:");

    gets(str2);

    count = 0;

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

        for(j=i,k=0;str1[j]==str2[k];j++,k++)

            if ( !str2[k+1])

                count++;

    printf("chuxian  cishu=%d\n",count);

    

}

 

#pragma mark 求一个整数是否为回文数

#include <stdio.h>

int main()

{

    long num;

    int array[10];

    scanf("%ld", &num);

    int n = num, k = 0;

    do {

        array[k] = n%10;

        k++;

        n = n/10; // 完成了递进求个个位上的数字

    } while (n!=0);

    int i = 0;

    int flag = 0;

    for (; i<(k-1)/2; i++) {

        if (array[i] == array[k-1-i]){ flag = 1;}

    }

    if (flag) {

        printf("%ld 是回文", num);

    }else{

        printf("%ld 不是是回文", num);

    }

}

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数