解题思路:

1)如果输入字符串,我们可以根据其结尾的'\0'代表是否输入完成注意事项:


2)可以使用scanf,配合字符集匹配来完成,[ ]: 方括号表示一个字符类,它匹配方括号内的任意一个字符。如果匹配则就会继续读取,^\n表示匹配除了换行符之外的所有字符,包括空格


3)也可以使用fgets()函数,fgets() 会读取指定的文件流中的字符,直到遇到换行符 '\n'、文件结束符 EOF,并在字符串的末尾添加一个 null 字符 '\0


参考代码:

#include<stdio.h>


#define CHAR_ARRAY_MAX 255 


int main()

{

    // char string[CHAR_ARRAY_MAX];

    char string[CHAR_ARRAY_MAX];

    int digital_number = 0;

   

    // 用下面哪一个都行 

    // scanf("%[^\n]", string);

fgets(string, sizeof(string), stdin); 

   

    for (int i = 0; string[i] != '\0'; i++)

    {

if (string[i] >= 48 && string[i] <= 57)

{

digital_number++;

}

}

    

printf("%d\n", digital_number);

    

    return 0;


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论