奥鹏c语言离线作业答案,天大2020年春学期考试《C语言程序设计》离线作业考核试题...

要求:

一、        独立完成,下面已将三组题目列出,请按照学院平台指定的做题组数作答,每人只答一组题目,多答无效,满分100分;

平台查看做题组数操作:学生登录学院平台→系统登录→学生登录→课程考试→离线考核→离线考核课程查看→做题组数,显示的数字为此次离线考核所应做哪一组题的标识;

例如:“做题组数”标为1,代表学生应作答“第一组”试题;

二、答题步骤:

1.        使用A4纸打印学院指定答题纸(答题纸请详见附件);

2.        在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;

三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word

文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;

1.        完成的作业应另存为保存类型是“Word97-2003”提交;

2.        上传文件命名为“中心-学号-姓名-科目.doc”;

3.        文件容量大小:不得超过20MB。

提示:未按要求作答题目的作业及雷同作业,成绩以0分记!

题目如下:

第一组:

一、编程题(每题20分,共40分)

1、编写程序。输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。

2、编写程序。要求编写子函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。

二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)

1、按照公式 e=1+ + + +…+ 求e的近似值,至n=10为止。

#include < stdio.n>

void main ( )

{ float_____①_____;

int n=1, i;

for(_____②_____)

{ n=_____③_____;

e=_____④_____;

}

printf (“ e= %f\n” ,e);

}

2、将文件file1.dat中的内容复制到file2.dat中。

#include

#define  Null  0

void main()

{  FILE_____①_____;

char ch;

if((p1=fopen(“file1.dat”,”r”)= =Null)||(p2=fopen(“file2.dat”,”w”)= =Null ))

{ printf(“Can’t open file\n”); _____②_____; }

while(_____③_____)

{ ch=_____④_____; fputc(ch,p2); }

fclose(p1);

fclose(p2);

}

3、求二维数组a[5][4]中所有元素的平均值。

#include

____  _①_  ____

void main ( )

{  int a[5][4],i ,j, pa;

for (i=0;i<5;i++)

for (j=0;j<4;j++)

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

pa= _____②_____;

printf (“average=%d\n”,pa);

}

int average (int s[ ][4] )

{  int i,j,aver=0;

for (i=0;i<5;i++)

for (j=0;j<4;j++) aver=aver+s[i][j];

aver=_____③_____;

_____④_____;

}

三、写出程序的执行结果(每题4分,共12分)

1、

#include

void main()

{  int i, j, k=4;

for (int i=1;i<=k;i++)

printf("%c",’*’); printf("\n");

for (int i=1;i<=k-2;i++)

{  printf("%c",’*’);

for (j=1;j<= k-2;j++)

printf(" ");

printf("*\n");

}

for (i=1;i<=k;i++)

printf("%c",’*’); printf("\n");

}

2、

#include

void fun(int s[ ]);

void main()

{ int a[ ]={1,2,3,4,5,6},k;

fun(a);

for(k=0;k<=5;k++) printf(“%d  ”,a[k]);

printf(“\n”);

}

void fun(int s[ ])

{  int i=0;

while(i<3) { s[i]=s[i]+5;  i++; }

}

3、

#include

void main()

{ int j, a[ ]={1,2,3,4,10,12,13,15};

for( j=3; j>0; j--)

switch ( j )

{  case 1:

case 2: printf(“%d,”, a[j+4]); break;

case 3: printf(“%d,”, a[j-1]);

}

printf(“\n”);

}

第二组:

一、编程题(每题20分,共40分)

1、        编写程序。定义数组存放任意输入的10个实数,求出其中的最大值以及第一个最

大值的下标并输出。

2、编写程序。要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。

二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)

1、程序用于输出如下图形。

#include

void main( )

{ int i, j;

for(i=1; i<10; i++)

printf(“%4d”, _____①_____);

for(i=1;i<10;i++)

{ for(j=1; _____②_____;j++)

printf(“%4d”, _____③_____ );

_____④_____; }

}

2、输入50个实数,统计其中正数、负数和零的个数。

#include

void fun(int *zs,int *fs,int *l, _____①_____)

{  int i;

for(i=0;i<50;i++)

{ if(aa[i]>0)(*zs)++;

if(aa[i]<0)

(*fs)++;

if(aa[i]==0)

(*l)++; }

}

void main()

{ float num[50];

int i,czs,cfs,cl;

czs=cfs=cl=0;

printf("\nPlease enter 50 float numbers:\n");

for(i=0;i<50;i++)

scanf(“%f”, _____②_____);

fun(_____③_____, _____④_____);

printf("\n正数:%d,负数:%d,零:%d\n",czs,cfs,cl);

}

3、输入正整数m和n,求出[m,n]区间的所有素数。

#include

_____  ①__  ___

void main()

{  int m,n,i,j,k;

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

for(i=m;i

{ k=sqrt(i);

for(j=2; _____②_____;j++)

if(_____③_____)break;

if(_____④_____)

printf(" %d",i);

}

printf("\n");

}

三、写出程序的执行结果(每题4分,共12分)

1、

#include

void main()

{ char  s1[ ]="abcde", s2[10];

int  i=0;

while( s1[i] !=’\0’)

{ s2[ i ]= s1[ i ]+3; i++; }

s2[ i ]= '\0';

printf("%s", s2);

}

2、

#include

void main()

{  char ch1='A',ch2='B';

switch(ch1)

{  case 'A':switch(ch2)

{  case 'B':printf("Good!  ");break;

case'A':printf("Better!  ");break;

}

case 'B': printf("Best!\n");break;

}

}

3、

#include

int age(int n)

{  int c;

if(n==1)

c=10;

else

c=age(n-1)+2;

return(c);

}

void main()

{  printf("%d",age(5));

}

第三组:

一、编程题(每题20分,共40分)

1、编写程序。计算  (求n项,n由键盘输入并要求最后一项小于10-6结束。

2、编写程序。自定义函数求N名学生1门课程成绩的平均分,调用该函数求10名

学生1门课程成绩的平均分。

二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)

1、判断一个整数的各位数字是否都相同,相同则显示“yes“,否则显示”no”。

#include

void main( )

{ int a, r1, r2;

scanf(“%d”,_____①_____);

do{  r1=a%10;

_____②_____;

r2=a%10;

}while( a!=0&&_____③_____ );

if(a!=0 ) printf(”no \n”);

else _____④_____;

}

2、输出如下图形。

1  2  3  4  5

1  1  2  3  4

1  1  1  2  3

1  1  1  1  2

1  1  1  1  1

#include

void fun(_____①_____)

{ int i,j;

for(i=1;i<=n;i++)

{  for(j=1; _____②_____;j++)

printf(“%3d”,1);

for(j=2;j<=_____③_____;j++)

printf(“%3d”,j);

printf(“\n”);

}

}

void main()

{

_____④_____;

}

3、输入一个3行5列的整数矩阵,输出其中最大值和它们的下标。

#include

void main()

{ int a[3][5],i,j,t,n=3,m=5,max,maxrow,maxcol;

printf(“Enter%d*%dnumbers!\n”,n,m);

for(i =0;i

for(j=0;j

{ scanf(“%d”,&t);

_____①_____; }

max=a[0][0];_____②_____;

for(i=0;i

for(j=0;j

if(_____③_____)

{ _____④_____;maxrow=i;maxcol=j;}

printf(“MAX=a[%d][%d]=%d\n”,maxrow,maxcol,max,);

}

三、写出程序的执行结果(每题4分,共12分)

1、

#include

void main()

{  int a[][3]={9,7,5,3,l,2,4,6,8};

int i,j,sl=0,s2=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{ if(i==j)

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

if(i+j==2)

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

}

printf(“%d%4d\n”,sl,s2);

}

2、

#include

void main()

{ char a[]={‘*’,‘*’,‘*’,‘*’,‘*’};

int i,j,k;

for(i=0;i<4;i++)

{ printf(“\n”);

for(j=0;j

printf(“%c”,‘ ’);

for(k=0;k<4;k++)

printf(“%c”,a[k]);

}

printf(“\n”);

}

3、

#include

void main()

{   int s[5];

for (i=0;i<5;i++)

s[i]=i*2;

for(i=4;i>=0;i--)

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

printf(“\n”);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值