程序设计3() 编程练习字符串及字符数组:输入1个字符串,统计其中数字、字母和其它字符的个数。 输入输出示例: 请输入字符串:This is my No.78 program! 其中数字字符2个,字母17个,其它字符6个
",digit,chara,other); }
阅读以下说明和C代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
【说明1】
下面的函数countChar(char *text)统计字符串text中不同的英文字母数和每个英文字
母出现的次数(英文字母不区分大小写)。
【C代码1】
Int countchar(char*text)
{
int i,sum=O; /*sum保存不同的英文字母数*/
char *ptr;
int c[26]={0}; /*数组c保存每个英文字母出现的次数*/
/*c[0]记录字母A或a的次数,c[1]记录字母B或b的次数,依此类推*/
ptr=(1); /* ptr初始时指向字符串的首字符*/
while (*ptr) {
if (isupper (*ptr) )
c[*ptr一’A’]++;
else &39;
if (islower (*ptr) )
c[*ptr一’a’]++;
(2); /*指向下一个与字符*/
}
for (i=0. i<26; i++ )
If(3)sum++;
return sum;
}
【说明2]
将下面C代码2中的空缺补全后运行,使其产生以下输出。
f2: f2:f2:2
f3: f3:1
【C代码2]
include
int fl (int (*f) (int)) .
int f2 (int) ;
int f3 (int) ;
int main ()
{
Printf(“%d\n”,f1(4))
Printf(“%d\n”,f1(5))
return 0;
}
int fl(int (*f) (int) }
{
int n=O;
/*通过函数指针实现函数调用,以返回值作为循环条件*/
While(6) n++
return n;
}
int f2 (int n)
{
printf ("f2: ") ;
return n*n-4;
}
int f3 (int n)
{
printf ("f3: ") ;
return n-1
}
现有一个10个人的100行选票数据文件IN.dat,其数据存放的格式是每条记录的长度均为10位,第一位表示第1个人的选中情况,第二位表示第2个人的选中情况,以此类推;内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票人数大于5个人时被认为无效的选票。给定函数Rdata()的功能是把选票数据读入到字符串数组string中。函数CountRs()其功能是:统计每个人的选票数并把得票数依次存入result[0]到result[9]中。把结果result输出到OUT.dat文件中。 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include <stdio.h> #include <stdlib.h> char string[100][11]; int result[10]; int Rdata(void); void Wdata(void); void CountRs(void) { int i, count, j; char *pf; for (i=0; i<10; i++) result[i]="0;" for (i="0;" { pf="string[i];" count="0;" while (*pf) if (*pf="=" '1') count++; ______________; } (count (j="0;" j++) result[j] +="string[i][j]-'0';" void main() int i; (rdata()) printf("选票数据文件in.dat不能打开!\n\007"); exit(-1); countrs(); wdata(); rdata(void) file *fp; ((fp="fopen("IN.dat"," "r"))="=" null) return 1; (fgets(string[i], 12, fp)="=" _______________; fclose(fp); 0; wdata(void) fp="fopen("OUT.dat"," "w"); fprintf(fp, "%d\n", result[i]); printf("第%d个人的选票数="%d\n"," i 1,> A、第1处:pf++; 第2处:string[i][10] = '\0'
B、第1处:pf++ 第2处:return 0
C、第1处:*pf=*pf+1 第2处:return 0
D、第1处:*pf=*pf+1 第2处:string[i][10] = '\0'
A、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
B、字符数组中字符串的字符可以整体输入、输出
C、字符数组可以存放字符串
D、可以用关系运算符对字符数组中的字符比较大小
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!