今天做的题:1·输入字符串,包含:字母、数字、标点符号,以及空格字符,并将其逆序输出。 2·输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。

输入字符串,包含:字母、数字、标点符号,以及空格字符,并将其逆序输出。
例如,当输入字符串为“I am a student.”,输出为“.tneduts a ma I”,假设字符数组最大长度为30。
输入提示信息:“Please Enter String1:\n”
输入格式:gets()
输出格式:“Result is:\n%s\n”

程序运行结果示例:
Please Enter String1:
I am a student.↙
Result is:
.tneduts a ma I

*/

#include <stdio.h>
#include <string.h>
int main ( )
{
    char arr[30];
    printf("Please Enter String1:\n");
    gets(arr);
    char abb[30];
    long len = strlen(arr);
    
    for (long i = 0; i < len; i++) {
        abb[len-1-i] = arr[i];
    }
    printf("Result is:\n%s\n",abb);
    
}

/*
输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。
输入提示信息:“Please input a string:”
输入字符串用gets()
输出提示信息和格式:
“English character: %d\n”
“digit character: %d\n”
“space: %d\n”
“other character: %d\n”

*/

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


void main()
{
    
    char str[80];
    int  i;
    int  letter=0,digit=0,space=0,other=0;
    
    printf("Please input a  string:");
    gets(str);
    
    long len = strlen(str);
    
    for (i=0; i<len; i++)
    {
        if (('a'<=str[i]&&str[i]<='z' )|| ('A'<=str[i]&&str[i]<='Z'))
        {
            letter ++;
        }
        else if ('0'<=str[i]&&str[i]<='9')
        {
            digit ++;
        }
        else if (str[i]==' ' )
        {
            space ++;
        }
        else
            other ++;
    }
    
    printf("English character:  %d\n", letter);
    printf("digit character:  %d\n", digit);
    printf("space:  %d\n", space);
    printf("other character:  %d\n", other);
}
发布了18 篇原创文章 · 获赞 0 · 访问量 204

猜你喜欢

转载自blog.csdn.net/weixin_46456339/article/details/105128178