test

天津大学C语言程序设计

天津大学C语言程序设计

第一组:

一、编程题

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

反的次序并输出。

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

输出的次数。

二、程序填空。在程序中的序号处填上正确的内容。

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

#include

void main( )

{ inti, 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;

inti=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

9 9 9 9 9 9 9 9 9

if((p1=_____ _____)==Null)

{ printf( “Can’t open file\n ”); exit(0) ; }

while(i<=100)

{ fprintf(p1, ”.3 ”,sqrt((double)(i)));

if(_____ _____) fprintf(p1, ”\n ”);

_____ _____;

}

_____ _____;

}

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

#include

#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);

}

三、写出程序的执行结果

1 、

#include

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

void main()

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

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

7

1

5

1

3

1

1

4

{ printf("%ds=%d\n", sum(data[i],s),s); }

}

int sum(int p[ ], inta)

{inti, 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 ( )

{ inti ,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];

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("-",a[i][j]);

printf("\n");

}

}

第二组:

一、编程题

1、编写程序。定义数组 sco 存放 30 名学生的成绩。将成绩由高到低排序,并输出排序结

果和所有高于平均分数的成绩(结果保留两位小数)。

2、编写程序。先编写一个子函数求 x

n

,再通过主函数调用该子函数,对输入的一个数 y,

求 y

5

并输出。

二、程序填空。在程序中的序号处填上正确的内容。

1 、程序用于求两个数的和与差。

#include

int fun(inta,int b, int *psub)

{ int sum;

sum=a+b;

_____ _____=a-b;

return sum;

}

void main( )

{ int x,y,s1,s2;

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

s1=fun(x,y, _____ _____);

printf( “sum=%d\n sub=%d\n ”, _____ _____);

}

2 、对于 5×5 的方阵,输出其下三角的元素。

1 2 3 4 5 1

2 3 4 5 6 2 3

3 4 5 6 7 3 4 5

4 5 6 7 8 4 5 6 7

5 6 7 8 9 5 6 7 8 9

#include

void main()

{ int __________,i,j;

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

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

a[i][j]= __________;

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

{ for(j=0; __________;j++)

printf("M", a[i][j]);

__________; }

}

3 、输出所有的水仙花数。所谓的水仙花数是指一个 3 位数,其各位数字立方和等于该

数本身。例如 153 是一水仙花数,因为 153=13+53+33

#include

void main()

{

int n, i, j, k;

for(n=100; n<= _____ _____; n++)

{

i = n/100;// 取出 n 的百位数

j = _____ _____;// 取出 n 的十位数

k = _____ _____;// 取出 n 的个位数

if(n==_____ _____)

printf("%d\n",n);

}

}

三、写出程序的执行结果

1 、

#include

void main( )

{ int i, j;

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

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

printf(“ “);

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

printf(“M”,i);

printf(“\n”);

}

}

2 、

#include

int a=5;

void fun(int b)

{ int a=10;

a+=b;

printf("%d ",a);

}

void main()

{ int c=20;

fun(c);a+=c;

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

}

3 、

#include

void sub (intx,inty,int *z)

{ *z=x-y; }

void main()

{ inta,b,c;

sub(10,6,&c);

sub(8,c,&b);

sub(c,b,&a);

printf(“%d %d %d\n”,a,b,c);

}

第三组:

一、编程题

1、 、编写程序。通过级数求 的值并输出(要求精度为 10 -6 ,即追后一项的绝对值小于 10 -6 )。

2 、编写程序。写一个求 n!的子函数,再利用 main( )调用该函数分别计算并输出 5!和 10!。

二、程序填空。在程序中的序号处填上正确的内容。

1 、程序用于求输入的 10 个实数的最大值以及第一个最大值的下标并输出。

#include

void main()

{ inti, max_i=0;

double a[10];

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

for(______ ______)

if(a[i]>a[max_i]) ______ ______;

printf(" 最大值=%6.2f , 位置是%d \n", ______ ______, max_i );

}

2 、函数用于求 x 的 y 次方。

double fun(double x, int y)

{ inti; ______ ______;

for(i=1;______ ______; i++)

z=______ ______;

______ ______;

}

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

A A

BB

CCC DDDD

EEEEE

FFFFFF

#include

void main ( )

{ inti,j;

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

{ for(j=1; j<= 9-i ;______ ______)

printf (" ");

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

printf("%c", ______ ______ );

______ ______;

}

}

三、写出程序的执行结果

1 、

#include

void f(int m[ ], int n)

{ int i;

for(i=0; i

}

void main()

{ inti,a[ ]={1,2,3,4,5,6,7,8,9,10};

f(a,5);

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

}

2 、

#include

void main()

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

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

{s=0;

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

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

printf("M",s );

}

}

3 、

#include

int f(int n)

{ static int a=1;

n+=a++;

return n;

}

void main()

{ int a=3,s;

s=f(a);s=s+f(a);

printf("%d\n",s);

}

 
 
0人点赞
 
日记本

 

 
posted @ 2020-11-16 23:10  西南大学张老师  阅读(115)  评论(0编辑  收藏  举报
test