计算机二级C语言考试公共基础知识(10)

2020-02-21 23:20

int i,j,n,low,heigh,t;

printf(\ scanf(\

if ( heigh< low ){ t=heigh;heigh=low;low=t; } n=fun( s,h,low,heigh );

printf(\ for(i=0;i

printf(\ printf(\

out = fopen(\ n=fun( s,h,80,98 ); fprintf(out,\ for(i=0;i

if(h[i].s>h[j].s) {tt=h[i] ;h[i]=h[j]; h[j]=tt;} for(i=0;i

fprintf(out,\ fprintf(out,\ fclose(out); }

【参考答案】

int fun (STREC *a, STREC *b, int l, int h ) {

int i,j=0;

for(i=0;i

if(a[i].s>=l&&a[i].s<=h) /*将分数高于l,低于h的学生记录存于结构体数组b中*/

b[j++]=a[i];

return j; /*返回分数范围内的学生人数*/ }

【考点分析】

本题考查:结构体数组操作;循环判断结构。 【解题思路】

本题使用循环判断结构实现,循环语句用于遍历结构体数组,条件语句用于判断当前元素是否符合条件,若符合条件则将其存入数组b中。 7、

46

#include

void fun( char *a, int n ) {

/* 以下代码仅供参考 */ int i=0,j,k=0;

while(a[k]=='*') k++; /* k为统计*字符个数 */ if(k>n) {

i=n;j=k;

/* 以下完成将下标为k至串尾的字符前移k-n个位置 */

} }

main()

{ char s[81]; int n;void NONO (); printf(\ printf(\ fun( s,n );

printf(\ NONO(); }

void NONO ()

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 FILE *in, *out ;

int i, n ; char s[81] ; in = fopen(\ out = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(in, \ fscanf(in, \ fun(s,n) ;

fprintf(out, \ }

fclose(in) ; fclose(out) ;

47

*/ }

【参考答案】

void fun(char *a,int n ) {

int i=0, k=0; char *p, *t;

p=t=a; /*开始时,p与t同时指向数组的首地址*/ while(*t==′*′) /*用k来统计前部星号的个数*/ {k++; t++;}

if(k>n) /*如果k大于n,则使p的前部保留n个星号,其后的字符依次存入数组a中*/ { while(*p)

{a[i]=*(p+k-n); i++; p++; }

a[i]=′\\0′; /*在字符串最后加上结束标识位*/ } }

【考点分析】

本题考查:循环判断语句;字符串的操作。 【解题思路】

字符串中前导*号不能多于n个,多余的删除。首先需要通过while循环统计字符串前导*号的个数,然后通过if条件语句完成前导*号的个数和n的比较,如果前导*号多于n个,需要把n个*号和其余字符重新保留。

48


计算机二级C语言考试公共基础知识(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Adghgga中小企业财务管理现状及对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: