首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。 例如,s所指字符串中的内容是:2det35adh253kjsdf 7/kj8655x, 函数fun返回值为:11 注意:部分源程序在文件PROG1.C
请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。 例如,s所指字符串中的内容是:2det35adh253kjsdf 7/kj8655x, 函数fun返回值为:11 注意:部分源程序在文件PROG1.C
admin
2021-04-28
48
问题
请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
例如,s所指字符串中的内容是:2det35adh253kjsdf 7/kj8655x,
函数fun返回值为:11
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 void NONO();
3 int fun(char*s)
4 {
5
6 }
7 main()
8 {char*s=’’2def35adh25 3kjsdf7/kj8655x’’;
9 printf(’’%s\n’’,s);
10 printf(’’%d\n’’,fun(s));
11 NONO();
12 }
13 void NONO()
14 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
15 FILE * fp,*wf;
16 int i;
17 char s[256];
18 fp=fopen(’’in.dat’’,’’r’’);
19 wf=fopen(’’out.dat’’,’’w’’);
20 for(i=0;i<10;i++) {
21 fgets(s,255,fp);
22 fprintf(wf,’’%d\n’’,fun(s));
23 }
24 fclose(fp);
25 fclose(wf);
26 }
选项
答案
1 int fun(char*s) 2 { int n=0; 3 char*p; 4 for(p=s;*p!=’\0’;p++) 5 if((*p>=’0’)&&(*p<=’9’)) 6 n++; 7 return n; 8 }
解析
要统计字符串中数字字符的个数,首先应定义变量n,并初始化为0,然后遍历字符串,逐个判断字符是否为数字字符,判断条件为该元素的ASCII码在字符0和9的ASCII码之间,若判断条件成立,则使n的值加1,否则,继续判断下一个字符,直到字符串结束。
转载请注明原文地址:https://kaotiyun.com/show/4Gtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;
假定已建立以下链表结构,且指针p和q已指向如图所示的节点:则以下选项中可将q所指节点从链表中删除并释放该节点的语句组是
以下程序段完全正确的是
若、x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
有以下程序#includevoidmain(){inta[]={2,3,5,4},i;for(i=0;i
若有以下程序main(){inta=6,b=0,c=0;for(;a;){b+=a;a-=++c;}printf("%d,%d,%d\n",a,b,c);
)下列函数的功能是()。voidfun(char*a,char*b){while((*b=*a)!=’\0’){a++;b++;}}
以下叙述中错误的是
以下函数不能用于向文件中写入数据的是
算法的时间复杂度是指
随机试题
客观事物在人的认知过程中最简单的最初的反映形式是()
阿尔茨海默病人的首发症状是
下列哪种抗氧剂不应在偏酸性的注射剂中使用
对于存在重大误解或者显失公平的合同,一方当事人有权请求()予以撤销。
在我国商业银行托管业务中,商业银行主要是通过服务费用来实现盈利的,如托管费等。()[2012年6月真题]
根据《中国共产党纪律处分条例》,党和国家工作人员或者受委托管理、经营国有财产的人员的贪污行为如何处理?
近代形而上学唯物主义的局限性是()。
以下关于玛雅天文学成就的叙述,正确的是()。①玛雅人创造的“玛雅历”是一种太阳历。②玛雅人的历法,与宗教祭祀有着密切联系。③奇钦.伊查天文观象台是玛雅天文学的伟大成就。④玛雅人的历法中,采用了12进位法。
A、-6B、-6ln2C、6ln2D、6F
在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()Move500,500EndSub程序运行后,单击命令按钮,产生的结果为()。
最新回复
(
0
)