C语言上机实训_c语言上机实训

其他范文 时间:2020-02-28 06:16:54 收藏本文下载本文
【www.daodoc.com - 其他范文】

C语言上机实训由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言上机实训”。

C语言上机实训 试题2 所属语言:C语言 试卷方案:C语言上机实训 试卷总分:100分 共有题型:3种

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:470 /*------------------------【程序填空】

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

功能:从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]|的最小值是多少 ?

------------------------*/ #include #include

/***********SPACE***********/

#define min(x, y)

(【?】)

x

int min_distance(int x[], int y[], int m, int n){

int minimum = INT_MAX;

int index_x = 0, index_y = 0;

while(index_x

/***********SPACE***********/

if(【?】)x[index_x] >= y[index_y]

{

minimum = min(minimum, x[index_x]-y[index_y]);

index_y++;

}

else

{

minimum = min(minimum, y[index_y]-x[index_x]);

/***********SPACE***********/

【?】index_x++;

}

return minimum;

}

#include void main(void){

int x[] = { 1, 3, 7, 11, 18};

int m

= sizeof(x)/sizeof(int);

int y[] = { 4, 5, 8, 13, 22};

int n

= sizeof(y)/sizeof(int);

int i, min_distance(int [], int [], int, int);

printf(“nCompute Minimum Distance Between Two Sorted Arrays”);

printf(“n====”);

printf(“nnGiven Array #1 :”);

for(i = 0;i

printf(“%5d”, x[i]);

printf(“nnGiven Array #2 :”);

for(i = 0;i

printf(“%5d”, y[i]);

printf(“nnMinimum Distance = %d”, min_distance(x, y, m, n));} 答案:

=======(答案1)======= xx?x:y

=======(答案2)======= x[index_x] >= y[index_y] =========或========= y[index_y]

=======(答案3)======= index_x++ =========或========= index_x=index_x+1 =========或========= ++index_x

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:26 /*-----------------------

【程序改错】

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

功能:实现3行3列矩阵的转置,即行列互换。

-----------------------*/ #include fun(int a[3][3],int n){

int i,j,t;

for(i=0;i

for(j=0;j

/**********FOUND**********/

scanf(“%d”,&a[i][j]);

for(i=0;i

{

for(j=0;j

printf(“%4d”,a[i][j]);

printf(“n”);

}

for(i=0;i

/**********FOUND**********/

for(j=0;j

{

/**********FOUND**********/

a[i][j]=t;

a[i][j]=a[j][i];

/**********FOUND**********/

t=a[j][i];

}

for(i=0;i

{

for(j=0;j

printf(“%4d”,a[i][j]);

printf(“n”);

} } main(){

int b[3][3];

fun(b,3);} 答案:

=======(答案1)======= scanf(“%d”,&a[i][j]);=========或========= scanf(“%d”,(*(a+i)+j));

=======(答案2)======= for(j=0;jj;j++)=========或========= for(j=0;j=j;j++)=========或========= for(j=i+1;j

for(j=i;j=j;j++)=========或========= for(j=i+1;j

=======(答案3)======= t=a[i][j];

=======(答案4)======= a[j][i]=t;

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:341 /*-----------------【程序设计】

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

功能:删除所有值为y的元素。数组元素中的值和y的值由

主函数通过键盘输入。

-----------------*/

#include #include #include #define M 20 void wwjt();

void fun(int bb[],int *n,int y){

/**********Program**********/

int i,j;for(i=0;i

{

if(bb[i]==y)

{for(j=i;j

bb[j]=bb[j+1];

*n=*n-1;

}

else

i++;

}

/********** End **********/ } main(){

int aa[M],n,y,k;

printf(“nPlease enter n:”);scanf(“%d”,&n);

printf(“nEnter %d positive number:n”,n);

for(k=0;k

printf(“The original data is:n”);

for(k=0;k

printf(“nEnter a number to deletede:”);scanf(“%d”,&y);

fun(aa,&n,y);

printf(“The data after deleted %d:n”,y);

for(k=0;k

printf(“n”);

wwjt();}

void wwjt(){

FILE *IN,*OUT;

int n;

int i[10];

int o;

IN=fopen(“in.dat”,“r”);

if(IN==NULL)

{

printf(“Read FILE Error”);

}

OUT=fopen(“out.dat”,“w”);

if(OUT==NULL)

{

printf(“Write FILE Error”);

}

for(n=0;n

{

fscanf(IN,“%d”,&i[n]);

}

fun(i,&n,3);

for(o=0;o

{

fprintf(OUT,“%dn”,i[o]);

}

fclose(IN);

fclose(OUT);}

答案:----------------------int i,j;for(i=0;i

{

if(bb[i]==y)

{for(j=i;j

bb[j]=bb[j+1];

*n=*n-1;

}

else

i++;

}----------------------

试题1 所属语言:C语言 试卷方案:C语言上机实训 试卷总分:100分 共有题型:3种

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:417 /*------------------------【程序填空】

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

功能:利用全局变量计算长方体的体积及三个面的面积。

------------------------*/ #include int s1,s2,s3;int vs(int a,int b,int c){

int v;

/***********SPACE***********/

v=【?】;

s1=a*b;

/***********SPACE***********/

s2=【?】;

s3=a*c;

return v;} main(){

int v,l,w,h;

printf(“ninput length,width and height:

/***********SPACE***********/

scanf(”%d%d%d“,【?】,&w,&h);

/***********SPACE***********/

v=【?】;

printf(”v=%d

s1=%d

s2=%d

s3=%dn“,v,s1,s2,s3);} 答案:

”);

=======(答案1)======= a*b*c =========或========= a * b * c

=======(答案2)======= b*c =========或========= b * c

=======(答案3)======= &l

=======(答案4)======= vs(l,w,h)=========或========= vs(l , w , h)

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:392 /*-----------------------

【程序改错】

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

功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最低高分为56,得最

低分的人数为1人。

-----------------------*/

#include

float Min=0;int J=0;float fun(float array[],int n){

int i;float sum=0,ave;

Min=array[0];

for(i=0;i

{

if(Min>array [i])Min=array [i];

/**********FOUND**********/

sum=+array [i];

}

/**********FOUND**********/

ave=sumn;

for(i=0;i

/**********FOUND**********/

if(array [i]=Min)J++;

return(ave);}

main(){

float a[10],ave;

int i=0;

for(i=0;i

scanf(“%f”,&a[i]);

ave=fun(a,10);

printf(“ave=%fn”,ave);

printf(“min=%fn”,Min);

printf(“Total:%dn”,J);}

答案:

=======(答案1)======= sum+=array[i];=========或========= sum=sum+array [i];

=======(答案2)======= ave=sum/n;

=======(答案3)======= if(array [i]==Min)J++;

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:390 /*-----------------【程序设计】

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

功能:编写函数求1~100中奇数的平方和。

结果为166650.000000。

-----------------*/

#include void wwjt();

float sum(int n){

/**********Program**********/

/********** End **********/ } main(){

printf(“sum=%fn”,sum(100));

wwjt();}

void wwjt(){

FILE *IN,*OUT;

int i;

float o;

IN=fopen(“in.dat”,“r”);

if(IN==NULL)

{

printf(“Read FILE Error”);

}

OUT=fopen(“out.dat”,“w”);

if(OUT==NULL)

{

printf(“Write FILE Error”);

}

for(j=0;j

{

fscanf(IN,“%d”,&i);

o=sum(i);

fprintf(OUT,“%fn”,o);

}

fclose(IN);

fclose(OUT);}

答案:----------------------float s=0;int i;for(i=1;i

s=s+i*i;return(s);----------------------

试题3 所属语言:C语言 试卷方案:C语言上机实训 试卷总分:100分 共有题型:3种

一、程序填空

共1题(共计30分)第1题(30.0分)

题号:410 /*------------------------【程序填空】

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

功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数

变成最前面的m个数

------------------------*/ #include

/***********SPACE***********/

move(【?】)int n,m,array[20];{

int *p,array_end;

/***********SPACE***********/

array_end=*(【?】);

for(p=array+n-1;p>array;p--)

/***********SPACE***********/

*p=*(【?】);

*array=array_end;

m--;

if(m>0)move(array,n,m);} main(){

int number[20],n,m,i;

printf(“the total numbers is:”);

scanf(“%d”,&n);

printf(“back m:”);

scanf(“%d”,&m);

for(i=0;i

scanf(“%d,”,&number[i]);

scanf(“%d”,&number[n-1]);

/***********SPACE***********/

move(【?】);

for(i=0;i

printf(“%d,”,number[i]);

printf(“%d”,number[n-1]);}

答案:

=======(答案1)======= array,n,m

=======(答案2)======= array+n-1 =========或========= array + n-1

=======(答案3)======= p-1

=========或========= p-1

=======(答案4)======= number,n,m

二、程序改错

共1题(共计30分)第1题(30.0分)

题号:413 /*-----------------------

【程序改错】

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

功能:读取7个数(1-50)的整数值,每读取一个值,程序打印

出该值个数的*。

-----------------------*/

#include main(){

int i,a,n=1;

/**********FOUND**********/

while(n

{

do

{

scanf(“%d”,&a);

}

/**********FOUND**********/

while(a50);

/**********FOUND**********/

for(i=0;i

printf(“*”);

printf(“n”);

n++;} } 答案:

=======(答案1)======= while(n

=========或========= while(n

=======(答案2)======= while(a50);=========或========= while(a>50||a

=======(答案3)======= for(i=1;i

三、程序设计

共1题(共计40分)第1题(40.0分)

题号:337 /*-----------------【程序设计】

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

功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并的方式是:将a数的十位和个位数依次放

在c数的百位和个位上,b数的十位和个位数依次放

在c数的十位和千位上。

例如:当a=45,b=12。调用该函数后,c=2415。

-----------------*/

#include void wwjt();

void fun(int a, int b, long *c)

{

/**********Program**********/

/********** End **********/ }

main()

{

int a,b;long c;

printf(“input a, b:”);

scanf(“%d%d”, &a, &b);

fun(a, b, &c);

printf(“The result is: %ldn”, c);

wwjt();

}

void wwjt()

{

FILE *rf, *wf;

int i, a,b;long c;

rf = fopen(“in.dat”, “r”);

wf = fopen(“out.dat”,“w”);

for(i = 0;i

{

fscanf(rf, “%d,%d”, &a, &b);

fun(a, b, &c);

fprintf(wf, “a=%d,b=%d,c=%ldn”, a, b, c);

}

fclose(rf);

fclose(wf);

}

答案:----------------------*c=a/10*100+a%10+b/10*10+b%10*1000;----------------------

上机实训心得体会

上机实训心得体会当我们积累了新的体会时,可以将其记录在心得体会中,如此可以一直更新迭代自己的想法。那么如何写心得体会才能更有感染力呢?以下是小编为大家整理的上机实训心......

上机实训心得体会

刀豆文库小编为你整合推荐4篇上机实训心得体会,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

WORD上机实训报告

word基本操作实验报告一、实验目的与要求1.掌握word的基本操作; 2.掌握字符格式、段落格式和页面格式等排版技术; 3.掌握图文混排、表格处理和邮件合并技术; 4.熟悉个人名片或毕业......

erp上机实训心得体会

erp上机实训心得体会erp上机实训心得体会一经过这个学期的对ERP的学习,我拓宽了知识面,也提高了认识。认识的提高主要表现在两方面:一方面是对自我的认识。学习用友ERP,我认为是......

计算机上机实训报告

计算机上机实训报告实训报告主要用于加深学员对知识和技能的理解和认识。提供了计算机上机的实训报告,欢迎借鉴!计算机上机实训报告1曾经心潮澎湃,曾经满怀激情,曾经翘首等待......

下载C语言上机实训word格式文档
下载C语言上机实训.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文