天大2016年12月《C语言程序设计》期末大作业考核要求

更新时间:2024-03-22 16:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

谋学网www.mouxue.com

C语言程序设计

要求:

1. 独立完成,作答时要按照模版信息填写完整,写明题型、题号; ....

2. 作答方式:手写作答或电脑录入,请使用学院统一模版(模版详见附件); 3. 提交方式:以下两种方式任选其一,

1) 手写作答的同学可以将作业以图片形式打包压缩上传; 2) 提交电子文档的同学可以将作业以word文档格式上传;

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

5. 文件容量大小:不得超过10MB。

请在以下几组题目中,任选一组题目作答,满分100分。

第一组:

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

1、 编写程序。从输入的若干个大于零的整数中选出最小值(输入-1时结束输入)。 2、编写程序。写一个子函数fac求n!,然后再编写main()调用fac函数分别输出1~5的阶乘。

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

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

S

SS SSS SSSS SSSSS SSSSSS

#include \

void main ( ) { int i,j;

for(i=1;i<= ____①____;i++) { for(j=1; j<= 9-i ; ____②____) printf (\

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

printf(\③____ ); 谋学网www.mouxue.com

________④________; }

}

2、程序由键盘输入10个整型数写入名为fdada.txt的文件 #include \ #include \ void main()

{ _____①_____ *fp; int i,a;

if ((fp=fopen(\②_____\{ printf(\文件不能打开!\\n\

else { printf(\请输入10个整数\\n\ for(i=1;i<=10;i++)

{ scanf(\③____,\ ________④________ ; } }

3、输入4×5数组中所有元素,求所有元素的平均值并输出。#include

void main( )

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

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

scanf(“%d”, _____①_____ ); _____②_____; for(i=0;i<4;i++) for(j=0;j<5;j++)

sum=____ ③ ____; printf(“average=%f\\n”, ____④____ ); }

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

#include

\

谋学网www.mouxue.com

int x=10; void f1() { int a=10;

static int b=10;

a+=10; b+=10; x+=10;

printf (“%d %d %d ”, a,b,x) ; }

void main ( ) { f1( ); f1( ); } 2、

#include void main()

{ int a[ ]={2,3,5,4},i; for (i=0;i<4;i++) switch(i%2)

{ case 0: switch(a[i]%2)

{ case 0: a[i]++;break; case 1:a[i]--; }break; case 1:a[i]=0; }

for (i=0;i<4;i++) printf(\ printf(\ }

3、

#include

void main()

{ int beta=10;

int *pointer,*q; pointer=β *pointer=20;

beta=*pointer+30; q=β

printf(\ }

谋学网www.mouxue.com

第二组:

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

1、 编写程序。定义N个大小的整型数组,任意输入10个整数,找出其中的最大值和 最小值并输出。

2、 编写程序。自定义函数求y!,调用该函数求s=m!+n!+k!并输出(m、n、k的值从 键盘输入)。 二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)

1、求数列0,1,1,2,3,5,8,13,21,34,……的前40 个数。其中第一、二两个数为0、1,以后每个数是前两个数之和。

#include

void main()

{ int _____①_____,i; printf(“%d %d”, _____②_____); for(_____③_____; i<=21; i++) { f1=f1+f2;

f2=_____④_____; printf(“%d %d”,f1,f2); if((i+1)%2==0) printf(“\\n”); }

}

2、在D盘建一个名为”file1.dat”的文件,从键盘输入若干字符(以回车作为结束)存入该文件,。

#include #define Null 0 void main()

{ _____①_____; char c;

if(( fp=fopen(“d:\\file.dat”, _____②_____))==Null) { printf(“Can’t open file!\\n”); exit(0) ; } do{

c=getcher();

_____③_____; }while(c!=’\\n’)

_____④_____; }

谋学网www.mouxue.com

3、输出如下所示的菱形。

* *** ***** *** *

#include void main() { int i,j,k;

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

{ for(j=1; j<=3-i; j++) printf(\

for(k=1; k<=_____①_____; k++) printf(\ printf(\ }

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

printf(\

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

_____④_____; printf(\ } }

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

#include

void main()

{ int i, j, N, a[5][5]={{1,2,3,4,5},{2,3,4,5},{3,4,5},{4,5},{5} }; N=5;

for(i=0; i

for(j=0; j

printf(\ \

printf(\}

谋学网www.mouxue.com

2、

#include int fun( int x ) { int p;

if (x==0||x==1 ) p=1;

else p=x*fun( x-2 ); return p; }

void main()

{ printf(\ }

3、

#include

void main() { int a=1,b=0; switch(a)

{ case 1:switch(b)

{ case 0:printf(“**0**”);break;

case 1:printf(“**1**”);break; }

case 2:printf(“**2**”);break; }

}

第三组:

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

1、编写程序。任意输入10个数,输出这10个数中正数的平均值并将这10个数按相 反的次序并输出。

2、编写程序。自定义函数重复输出给定的一个字符n次,调用该函数输出给定的字符和输出的次数。

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

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

1

2 2 3 3 3 4 4 4 4 5 5 5 5 5

6 6 6 6 6 6 7 7 7 7 7 7 7

8 8 8 8 8 8 8 8

谋学网www.mouxue.com

#include void main( ) { int i, j;

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

{ for( j=1; j<=12-i; j++) _____①_____;

for (j=1; _____②_____; j++) printf(“M”, _____③_____); _____④_____; }

}

2、将1到100各数的平方根按照每行5个数存到磁盘的file.dat文件中。 #include

#include

#define Null 0 void main() { FILE *p1;

int i=1;

if((p1=____ _①_ ____)==Null)

{ printf(“Can’t open file\\n”); exit(0) ; } while(i<=100)

{ fprintf(p1,”?.3”,sqrt((double)(i))); if(_____②_____) fprintf(p1,”\\n”); _____③_____; }

_____④_____; }

1 ? 3、用公式 ? ? ? ? ? ? 计算π的值, 直到最后一项的绝对值<10

4#include

?131517?6。

谋学网www.mouxue.com

#include void main()

{ int s; float n, t, pi;

t=1; n=1.0; pi=0; s=1; while(_____①_____)

{ pi=pi+t; n+=2; s=_____②_____; t=_____③_____; } _____④_____; printf(“pi=.6f\\n”, pi);

}

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

1、

#include

int sum(int p[ ], int a); void main()

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

for(int s,i=0; i<3; i++)

{ printf(\

}

int sum(int p[ ], int a) { int i, k=0;

static int s=0;

for(i=0; i<3; i++) { s+=p[i]; k+=p[i]; } a=k; return s;

}

2、

#include void pp(int x[]); void main ( )

{ int i ,a[ ]={1,2,3,4,5,6}; pp(a);

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

printf(“=”,a[i]); }

void pp(int x[ ]) { int k;

for (k=0;k<6;k++) x[k]=x[k]*x[k];

谋学网www.mouxue.com

return; }

3、

#include

void main()

{ int a[6][6],i,j; for(i=1;i<6;i++) for(j=1;j<6;j++) a[i][j]=(i/j)*(j/i); for(i=1;i<6;i++) { for(j=1;j<6;j++)

printf(\printf(\} }

本文来源:https://www.bwwdw.com/article/hv88.html

Top