3二级编程题题目.docx

上传人:b****8 文档编号:13189633 上传时间:2023-06-11 格式:DOCX 页数:79 大小:40.81KB
下载 相关 举报
3二级编程题题目.docx_第1页
第1页 / 共79页
3二级编程题题目.docx_第2页
第2页 / 共79页
3二级编程题题目.docx_第3页
第3页 / 共79页
3二级编程题题目.docx_第4页
第4页 / 共79页
3二级编程题题目.docx_第5页
第5页 / 共79页
3二级编程题题目.docx_第6页
第6页 / 共79页
3二级编程题题目.docx_第7页
第7页 / 共79页
3二级编程题题目.docx_第8页
第8页 / 共79页
3二级编程题题目.docx_第9页
第9页 / 共79页
3二级编程题题目.docx_第10页
第10页 / 共79页
3二级编程题题目.docx_第11页
第11页 / 共79页
3二级编程题题目.docx_第12页
第12页 / 共79页
3二级编程题题目.docx_第13页
第13页 / 共79页
3二级编程题题目.docx_第14页
第14页 / 共79页
3二级编程题题目.docx_第15页
第15页 / 共79页
3二级编程题题目.docx_第16页
第16页 / 共79页
3二级编程题题目.docx_第17页
第17页 / 共79页
3二级编程题题目.docx_第18页
第18页 / 共79页
3二级编程题题目.docx_第19页
第19页 / 共79页
3二级编程题题目.docx_第20页
第20页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

3二级编程题题目.docx

《3二级编程题题目.docx》由会员分享,可在线阅读,更多相关《3二级编程题题目.docx(79页珍藏版)》请在冰点文库上搜索。

3二级编程题题目.docx

3二级编程题题目

编程题

考试做题要求:

1、按题目要求编写部分代码,不要改动已经有的代码。

2、在运行时如果遇到死循环,按Ctrl+Break键结束运行。

3、题目做完后必须要有运行结果,没有运行结果没有分。

1、请编写函数fun,函数的功能是:

移动字符串中的内容,移动的规则如下:

把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

例如,字符串中原有的内容为:

ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:

DEFGHIJKABC。

注意:

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

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

#include

#include

#defineN80

voidfun1(char*w)/*本函数的功能是将字符串中字符循环左移一个位置*/

{

inti;chart;

t=w[0];

for(i=0;i

w[i]=w[i+1];

w[strlen(w)-1]=t;

}

voidfun(char*w,intm)/*可调用fun1函数左移字符*/

{

 

}

main()

{chara[N]="ABCDEFGHIJK";

intm;

printf("Theoriginalstring:

\n");puts(a);

printf("\n\nEnterm:

");scanf("%d",&m);

fun(a,m);

printf("\nThestringaftermoving:

\n");puts(a);

printf("\n\n");

NONO();

}

NONO()

{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。

*/

FILE*rf,*wf;chara[N];intm,i;

rf=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

fscanf(rf,"%d%s",&m,a);

fun(a,m);

fprintf(wf,"%s\n",a);

}

fclose(rf);fclose(wf);

}

2、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:

把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是6069,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。

主函数中将把60放在low中,把69放在heigh中。

注意:

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

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

#include

#defineN16

typedefstruct

{charnum[10];

ints;

}STREC;

intfun(STREC*a,STREC*b,intl,inth)

{

 

}

main()

{STRECs[N]={{"GA005",85},{"GA003",76},

{"GA002",69},{"GA004",85},{"GA001",96},

{"GA007",72},{"GA008",64},{"GA006",87},

{"GA015",85},{"GA013",94},{"GA012",64},

{"GA014",91},{"GA011",90},{"GA017",64},

{"GA018",64},{"GA016",72}};

STRECh[N],tt;FILE*out;

inti,j,n,low,heigh,t;

printf("Enter2integernumberlow&heigh:

");

scanf("%d%d",&low,&heigh);

if(heigh

n=fun(s,h,low,heigh);

printf("Thestudent'sdatabetween%d--%d:

\n",low,heigh);

for(i=0;i

printf("%s%4d\n",h[i].num,h[i].s);

printf("\n");

out=fopen("c:

\\test\\out.dat","w");

n=fun(s,h,80,98);

fprintf(out,"%d\n",n);

for(i=0;i

for(j=i+1;j

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

for(i=0;i

fprintf(out,"%4d\n",h[i].s);

fprintf(out,"\n");

fclose(out);

}

3、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。

请编写函数fun,函数的功能是:

找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

注意:

部分源程序存在文件PROG1.C文件中。

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

#include

#include

#defineN10

typedefstructss

{charnum[10];ints;}STU;

fun(STUa[],STU*s)

{

 

}

main()

{STUa[N]={{"A01",81},{"A02",89},{"A03",66},

{"A04",87},{"A05",77},{"A06",90},

{"A07",79},{"A08",61},{"A09",80},

{"A10",71}},m;

inti;

printf("*****Theoriginaldata*****\n");

for(i=0;i

fun(a,&m);

printf("*****THERESULT*****\n");

printf("Thelowest:

%s,%d\n",m.num,m.s);

NONO();

}

NONO()

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

*/

FILE*rf,*wf;

STUa[N],m;

inti;

rf=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++)fscanf(rf,"%s%d",a[i].num,&a[i].s);

fun(a,&m);

fprintf(wf,"Thelowest:

%s,%d\n",m.num,m.s);

fclose(rf);

fclose(wf);

}

4、请编写一个函数fun,其功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

例如,若输入"abc4EFg",则应输出"aBc4EFg"。

注意:

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

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

#include

#include

voidfun(char*ss)

{

 

}

voidmain(void)

{

chartt[51];

printf("\nPleaseenterancharacterstringwithin50characters:

\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n\"%s\"",tt);

fun(tt);

printf("\nbecomes\n\"%s\"",tt);

NONO();

}

NONO()

{

/*请在此函数内打开文件,输入测试数据,调用fun函数,

输出数据,关闭文件。

*/

chartt[51],ch;

FILE*rf,*wf;

intlen,i=0;

rf=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

while(i<10){

fgets(tt,50,rf);

len=strlen(tt)-1;

ch=tt[len];

if(ch=='\n'||ch==0x1a)tt[len]=0;

fun(tt);

fprintf(wf,"%s\n",tt);

i++;

}

fclose(rf);

fclose(wf);

}

5、请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。

例如:

实型数为1234.567,则函数返回1234.57;

实型数为1234.564,则函数返回1234.56。

注意:

部分源程序存在文件PROG1.C文件中。

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

#include

floatfun(floath)

{

 

}

main()

{floata;

printf("Entera:

");scanf("%f",&a);

printf("Theoriginaldatais:

");

printf("%f\n\n",a);

printf("Theresult:

%f\n",fun(a));

NONO();

}

NONO()

{/*请在此函数内打开文件,输入测试数据,调用fun函数,

输出数据,关闭文件。

*/

inti;

floata;

FILE*rf,*wf;

rf=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

for(i=0;i<20;i++){

fscanf(rf,"%f",&a);

fprintf(wf,"%f\n",fun(a));

}

fclose(rf);

fclose(wf);

}

6、请编写一个函数fun,它的功能是:

根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):

π11×21×2×31×2×3×41×2×…×n

─=1+─+─—+────+──────+……+────────

233×53×5×73×5×7×93×5×…×(2n+1)

程序运行后,如果输入精度0.0005,则程序输出为3.14…。

注意:

部分源程序存在文件PROG1.C文件中。

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

#include

#include

doublefun(doubleeps)

{

 

}

main()

{doublex;

printf("Inputeps:

");

scanf("%lf",&x);printf("\neps=%lf,PI=%lf\n",x,fun(x));

NONO();

}

NONO()

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

*/

FILE*fp,*wf;

inti;

doublex;

fp=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

fscanf(fp,"%lf",&x);

fprintf(wf,"%lf\n",fun(x));

}

fclose(fp);

fclose(wf);

}

7、m个人的成绩存放在score数组中,请编写函数fun,它的功能是:

将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

例如,当score数组中的数据为:

10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:

10、20、30、40。

注意:

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

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

#include

#include

intfun(intscore[],intm,intbelow[])

{

 

}

main()

{inti,n,below[9];

intscore[9]={10,20,30,40,50,60,70,80,90};

n=fun(score,9,below);

printf("\nBelowtheaveragescoreare:

");

for(i=0;i

NONO();

}

NONO()

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

*/

inti,j,n,below[10],score[10];

FILE*rf,*wf;

rf=fopen("c:

\\test\\in.dat","r");

wf=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

for(j=0;j<10;j++)fscanf(rf,"%d",&score[j]);

n=fun(score,10,below);

for(j=0;j

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

8、假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

除了字符串前导的*号之外,将串中其它*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:

****A*BC*DEF*G*******,删除后,字符串中的内容应当是:

****ABCDEFG。

注意:

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

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

#include

voidfun(char*a)

{

/*以下代码仅供参考*/

inti=0,k;

while(a[i]=='*')i++;

k=i+1;

while(a[i]!

='\0')/*以下程序段实现非*字符前移*/

{

 

}

a[i+1]='\0';

}

main()

{chars[81];

printf("Enterastring:

\n");gets(s);

fun(s);

printf("Thestringafterdeleted:

\n");puts(s);

NONO();

}

NONO()

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

*/

FILE*in,*out;

inti;chars[81];

in=fopen("c:

\\test\\in.dat","r");

out=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

fscanf(in,"%s",s);

fun(s);

fprintf(out,"%s\n",s);

}

fclose(in);

fclose(out);

}

9、假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

将字符串中的前导*号全部移到字符串的尾部。

例如,字符串中的内容为:

*******A*BC*DEF*G****,移动后,字符串中的内容应当是:

A*BC*DEF*G***********。

在编写函数时,不得使用C语言提供的字符串函数。

注意:

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

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

#include

voidfun(char*a)

{

/*以下代码仅供参考*/

char*p,*q;

intn=0;

p=a;

while(*p=='*')/*统计串头'*'个数n*/

{n++;p++;}

q=a;

/*向前复制字符串,请填写相应的语句完成其功能*/

 

for(;n>0;n--)/*在串尾补n个'*'*/

*q++='*';

*q='\0';

}

main()

{chars[81],*p;intn=0;

printf("Enterastring:

\n");gets(s);

fun(s);

printf("Thestringaftermoveing:

\n");puts(s);

NONO();

}

NONO()

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

*/

FILE*in,*out;

inti;chars[81];

in=fopen("c:

\\test\\in.dat","r");

out=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

fscanf(in,"%s",s);

fun(s);

fprintf(out,"%s\n",s);

}

fclose(in);

fclose(out);

}

10、假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为:

*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:

****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为:

*******A*BC*DEF*G****。

n的值在主函数中输入。

在编写函数时,不得使用C语言提供的字符串函数。

注意:

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

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

#include

voidfun(char*a,intn)

{

/*以下代码仅供参考*/

inti=0,j,k=0;

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

if(k>n)

{

i=n;j=k;

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

 

}

}

main()

{chars[81];intn;

printf("Enterastring:

\n");gets(s);

printf("Entern:

");scanf("%d",&n);

fun(s,n);

printf("Thestringafterdeleted:

\n");puts(s);

NONO();

}

NONO()

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

*/

FILE*in,*out;

inti,n;chars[81];

in=fopen("c:

\\test\\in.dat","r");

out=fopen("c:

\\test\\out.dat","w");

for(i=0;i<10;i++){

fscanf(in,"%s",s);

fscanf(in,"%d",&n);

fun(s,n);

fprintf(out,"%s\n",s);

}

fclose(in);

fclose(out);

}

11、请编写函数fun,它的功能是:

求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为:

35,则有4个数符合要求,它们是:

1,5,7,35。

注意:

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

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

#include

voidfun(intx,intpp[],int*n)

{

 

}

main()

{intx,aa[1000],n,i;

printf("\nPleaseenteranintegernumber:

\n");scanf("%d",&x);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2