#include <stdio.h> int fhex(char str[]); int main(void) { char str[80]; gets(str); printf("%d",fhex(str)); return 0; } /考生在以下空白处定义函数/ /考生在以上空白处定义函数/ 函数设计 第 2 题,题目描述 程序文件名:CFD13.c 一、要求说明: 1. 请点击出题按钮,下载并打开试题文件 ;按试题要求进行操作,选择合适的编译器进行调试运行。 2. 试题文件中包含如下函数设计部分的标志: /考生在以下空白处定义函数/ /考生在以上空白处定义函数/ 3. 在设计时,不得删除设计部分标志;不得修改设计部分标志以外的程序内容。 4. 完成相关操作后,保存并关闭试题文件;再按本页界面的上传向导选择试题文件,点击【上传到服务器评分】。 二、程序功能: 输入一个字符串,统计字符串中十六进制字符个数并输出。十六进制字符包括0~9,A~F,a~f。 【输入格式】 在一行中输入不超过80个字符长度的、以回车结束的非空字符串。 【输出格式】 在一行中输出字符串中十六进制字符的个数。 【输入样例】 Hello123!@# 【输出样例】 4 【函数定义要求】 请在该程序文件中,实现函数int fhex (char str[]),统计字符串str中十六进制字符的个数,并作为函数的返回结果。
时间: 2024-03-08 22:49:48 浏览: 60
#include "stdio.h" /* 输入输出函数的头文件 */
您好,以下是题目中要求实现的函数int fhex(char str[])的代码:
```c
int fhex(char str[]) {
int count = 0;
for(int i = 0; str[i] != '\0'; i++) {
if((str[i] >= '0' && str[i] <= '9') || (str[i] >= 'A' && str[i] <= 'F') || (str[i] >= 'a' && str[i] <= 'f')) {
count++;
}
}
return count;
}
```
该函数首先定义一个计数器count,用于记录字符串中十六进制字符的个数。然后通过for循环遍历字符串中的每一个字符,判断该字符是否为十六进制字符,如果是,则计数器加1。最后返回计数器的值作为函数的结果。
阅读全文