计算机上机题Word下载.docx

上传人:b****6 文档编号:17716623 上传时间:2022-12-08 格式:DOCX 页数:35 大小:300.97KB
下载 相关 举报
计算机上机题Word下载.docx_第1页
第1页 / 共35页
计算机上机题Word下载.docx_第2页
第2页 / 共35页
计算机上机题Word下载.docx_第3页
第3页 / 共35页
计算机上机题Word下载.docx_第4页
第4页 / 共35页
计算机上机题Word下载.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

计算机上机题Word下载.docx

《计算机上机题Word下载.docx》由会员分享,可在线阅读,更多相关《计算机上机题Word下载.docx(35页珍藏版)》请在冰豆网上搜索。

计算机上机题Word下载.docx

%4d"

b[i]);

fun(b,N);

\nThedataaftermoving:

#include<

longfun(intg)

{

switch(g);

{case0:

return0;

case1;

case2:

return1;

return(fun(g-1)+fun(g-2));

{longfib;

intn;

Inputn:

"

scanf("

%d"

&

n);

n=%d\n"

n);

fib=fun(n);

fib=%d\n\n"

fib);

#defineN8

typedefstruct

{charnum[10];

doubles[N];

doubleave;

}STREC;

voidfun(STREC*a)

{STRECs={"

GA005"

85.5,76,69.5,85,91,72,64.5,87.5};

inti;

voidNONO();

fun(&

s);

The%s'

sstudentdata:

s.num);

for(i=0;

i<

i++)

%4.1f\n"

s.s[i]);

\nave=%7.3f\n"

s.ave);

NONO();

voidNONO()

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

*/

FILE*out;

inti,j;

STRECs[10]={

{"

85.5,76,69.5,85,91,72,64.5,87.5},

GA001"

82.5,66,76.5,76,89,76,46.5,78.5},

GA002"

72.5,56,66.5,66,79,68,46.5,58.5},

GA003"

92.5,76,86.5,86,99,86,56.5,88.5},

GA004"

82,66.5,46.5,56,76,75,76.5,63.5},

GA006"

75.5,74,71.5,85,81,79,64.5,71.5},

GA007"

92.5,61,72.5,84,79,75,66.5,72.5},

GA008"

72.5,86,73.5,80,69,63,76.5,53.5},

GA009"

66.5,71,74.5,70,61,82,86.5,58.5},

GA010"

76,66.5,75.5,60,76,71,96.5,93.5},

};

out=fopen("

out.dat"

"

w"

);

for(i=0;

i<

10;

i++){

fun(&

s[i]);

fprintf(out,"

%7.3f\n"

s[i].ave);

fclose(out);

【参考答案】

(1)a[i]  

(2)a[j]  (3)a[j]

【考点分析】

本题考查:

数组的引用;

if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,则不执行下面的语句。

【解题思路】

填空1:

for循环语句循环体中将数组元素a[i]赋值给变量max和变量min。

填空2:

通过一次for循环,找到数组中的最大值,if语句的条件表达式是max<

a[j]。

填空3:

同理,此处if语句的条件表达式是min>

【解题宝典】

求最大值或者最小值的题目,一般都是假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。

2

___1___fun(charch)

if(ch>

='

0'

&

&

___2___)

return'

9'

-(ch-___3___);

returnch;

{charc1,c2;

\nTheresult:

c1='

2'

;

c2=fun(c1);

c1=%cc2=%c\n"

c1,c2);

8'

a'

voidfun(char*p,char*b)

{inti,k=0;

while(*p)

{i=1;

while(i<

=3&

*p){

b[k]=p;

k++;

p++;

i++;

if(*p)

b[k++]="

b[k]='

\0'

{chara[80],b[80];

Enterastring:

gets(a);

Theoriginalstring:

puts(a);

fun(a,b);

\nThestringafterinsertspace:

puts(b);

\n\n"

stdlib.h>

structslist

{doubles;

structslist*next;

typedefstructslistSTREC;

doublefun(STREC*h)

STREC*creat(double*s)

{STREC*h,*p,*q;

inti=0;

h=p=(STREC*)malloc(sizeof(STREC));

p->

s=0;

while(i<

N)

{q=(STREC*)malloc(sizeof(STREC));

q->

s=s[i];

p->

next=q;

p=q;

next=0;

returnh;

outlist(STREC*h)

{STREC*p;

p=h->

next;

head"

do

{printf("

->

%4.1f"

p->

s);

p=p->

while(p!

=0);

{doubles[N]={85,76,69,85,91,72,64,87},ave;

STREC*h;

h=creat(s);

outlist(h);

ave=fun(h);

ave=%6.3f\n"

ave);

FILE*in,*out;

doubles[N],ave;

STREC*h;

in=fopen("

in.dat"

r"

for(j=0;

j<

N;

j++)fscanf(in,"

%lf,"

&

s[j]);

%6.3lf\n"

ave);

fclose(in);

(1)char 

(2)ch<

 (3)'

函数定义,注意函数定义的一般形式以及有参函数和无参函数的区别;

if语句条件表达式,本题的条件表达式是判断数字字符;

函数返回值,其一般形式为"

return表达式;

"

函数定义时,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型,所以此处应该填入char。

通过if条件语句判断字符串中字符是否是数字字符,既大于等于字符'

,同时小于等于字符'

return语句完成函数返回操作,要实现字符转换,应填入return′9′-(ch-′0′)。

有参函数定义,其一般形式为:

类型标识符 函数名(形式参数表列)

{声明部分

  语句

在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。

在进行函数调用时,主调函数将赋予这些形式参数实际的值。

形参既然是变量,必须在形参列表中给出类型说明。

3

string.h>

#defineM5

#defineN20

intfun(char(*ss)[N],int*n)

{inti,k=0,len=N;

___1___;

{len=strlen(ss[i]);

if(i==0)*n=len;

if(len___2___*n)

{*n=len;

k=i;

return(___3___);

{charss[M][N]={"

shanghai"

guangzhou"

beijing"

tianjing"

chongqing"

intn,k,i;

\nTheoriginalstringsare:

M;

i++)puts(ss[i]);

k=fun(ss,&

\nThelengthofshorteststringis:

%d\n"

\nTheshorteststringis:

%s\n"

ss[k]);

char*fun(chartt[])

for(i=0;

tt[i];

i++)

/**********found***********/

if(('

<

=tt[i])||(tt[i]<

='

z'

))

tt[i]+=32;

return(tt);

main()

chartt[81];

printf("

\nPleaseenterastring:

);

gets(tt);

\nTheresultstringis:

\n%s"

fun(tt));

voidfun(intm,int*k,intxx[])

intm,n,zz[100];

\nPleaseenteranintegernumberbetween10and100:

scanf("

n);

fun(n,&

m,zz);

\n\nThereare%dnon-primenumberslessthan%d:

m,n);

for(n=0;

n<

m;

n++)

\n%4d"

zz[n]);

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

输出数据,关闭文件。

FILE*rf,*wf;

rf=fopen("

wf=fopen("

fscanf(rf,"

fprintf(wf,"

%d\n%d\n"

%d\n"

fclose(rf);

fclose(wf);

(1)M  

(2)<

  (3)k

for循环语句的循环条件;

if语句条件表达式;

return语句完成函数值的返回。

题目指出ss所指字符串数组中共有M个字符串,所以for循环语句循环条件是i<

M。

要求求长度最短的字符串,*n中存放的是已知字符串中长度最短的字符串的长度,这里将当前字符串长度与*n比较,若小于*n,则将该长度值赋给*n,因此if语句的条件表达式为len<

*n。

将最短字符串的行下标作为函数值返回,变量k储存行下标的值。

4

voidfun(char*s)

{inti,j=0,k=0;

chart1[80],t2[80];

s[i]!

if(s[i]>

s[i]<

t2[j]=s[i];

___1___;

elset1[k++]=s[i];

t2[j]=0;

t1[k]=0;

k;

i++)___2___;

___3___;

i++)s[k+i]=t2[i];

{chars[80]="

ba3a54j7sd567sdffs"

\nTheoriginalstringis:

s);

fun(s);

\nTheresultis:

#defineMAXLINE20

fun(char*pstr[6])

{inti,j;

char*p;

for(i=0;

5;

i++){

/**************found**************/

for(j=i+1,j<

6,j++)

if(strcmp(*(pstr+i),*(pstr+j))>

0)

p=*(pstr+i);

*(pstr+i)=pstr+j;

*(pstr+j)=p;

{inti;

char*pstr[6],str[6][MAXLINE];

for(i=0;

6;

i++)pstr[i]=str[i];

\nEnter6string(1stringateachline):

\n"

);

i++)scanf("

%s"

pstr[i]);

fun(pstr);

Thestringsaftersorting:

%s\n"

#defineM81

intfun(char*ss,charc)

{chara[M],ch;

\nPleaseenterachar:

ch=getchar();

\nThenumberofthecharis:

fun(a,ch));

NONO();

voidNONO()

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

*/

inti;

chara[M],b[M],ch;

fscanf(rf,"

a);

b);

ch=*b;

%c=%d\n"

ch,fun(a,ch));

(1)j++或j+=1或++或j=j+1

(2)s[i]=t1[i]  (3)j

指针型变量;

数组变量赋值;

for循环语句。

根据函数fun中的内容可知,数组t1存储了s中的非数字字符,数组t2存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

将s串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

最后将数字字符加到s串之后,并且i要小于数字的个数j。

5

typedefstructlist

{intdata;

structlist*next;

}SLIST;

voidfun(SLIST*h,intx)

{SLIST*p,*q,*s;

s=(SLIST*)malloc(sizeof(SLIST));

s->

data=___1___;

q=h;

=NULL&

x>

data){

q=___2___;

p=p->

next=p;

next=___3___;

SLIST*creatlist(int*a)

{SLIST*h,*p,*q;

h=p=(SLIST*)malloc(sizeof(SLIST));

{q=(SLIST*)malloc(sizeof(SLIST));

data=a[i];

voidoutlist(SLIST*h)

{SLIST*p;

if(p==NULL)printf("

\nThelistisNULL!

else

\nHead"

do{printf("

data);

}while(p!

=NULL);

End\n"

{SLIST*head;

intx;

inta[N]={11,12,15,18,19,22,25,29};

head=creatlist(a);

\nThelistbeforeinserting:

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1