【程序设计题】循环

本期介绍关于循环的程序设计题,循环用于多次重复进行同一个操作或相似操作,应用十分广泛,循环语句主要有三种,for循环,while循环,以及do...while循环,这三种循环各有优缺。下面就有一道关于循环的程序设计题。

【问题】:

编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为1,则输出3。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【程序】:

#include

#include

#define M 81

int fun(char *ss, char c)

{

}

main()

{ char a[M], ch;

void NONO ( );

printf("\nPlease enter a string:"); gets(a);

printf("\nPlease enter a char:"); ch = getchar();

printf("\nThe number of the char is: %d\n", fun(a, ch));

NONO ( );

}

void NONO ( )

{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

int i ;

FILE *rf, *wf ;

char a[M], b[M], ch ;

rf = fopen("in.dat","r") ;

wf = fopen("out.dat","w") ;

for(i = 0 ; i

fscanf(rf, "%s", a) ;

fscanf(rf, "%s", b) ;

ch = *b ;

fprintf(wf, "%c=%d\n", ch, fun(a, ch)) ;

}

fclose(rf) ;

fclose(wf) ;

}

----------------------------------------

【答案参考】:

int fun(char *ss, char c)

{

int i=0;

for(;*ss!='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的个数*/

return i;

}

【考点分析】;

由题可以看出,char *ss用来接收所输入的字符串, char c 用于计算要求的个数,从字符串中查找指定字符,需要使用循环判断结构,故可用循环来遍历数组,每达到一次要求便累加一次,本题参考答案我们使用了for循环体结构来所求功能,*ss!='\0'用于判断是否达到输入字符串的最大个数(循环条件为字符串没有结束,即当前字符不是′\0′),if用来判断是否符合条件(判断语句用来判断当前字符是否为指定字符),最后返回指定字符的个数。当然也可用其他两个循环体来做本题

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180708G0WQDZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券