C语言程序设计
要求:
一、独立完成,下面已将三组题目列出,请按照学院平台指定的做题组数作答, ..
每人只答一组题目,多答无效,满分100分; ............
平台查看做题组数操作:学生登录学院平台→系统登录→学生登录→课程考试→离线考核→离线考核课程查看→做题组数,显示的数字为此次离线考核所应做哪一组题的标识;
例如:“做题组数”标为1,代表学生应作答“第一组”试题; 二、答题步骤:
1. 使用A4纸打印学院指定答题纸(答题纸请详见附件);
2. 在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手......写,包括学号、姓名等基本信息和答题内容,请写明题型、题号; 三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个 .......Word.... 文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰; ...
1. 上传文件命名为“中心-学号-姓名-科目.doc” 2. 文件容量大小:不得超过20MB。
提示:未按要求作答题目的作业及雷同作业,成绩以分记! ....................0...
题目如下: 第一组:
一、编程题(每题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 9 9 9 9 9 9 9 9 9
#include
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
#include
{ int s; float n, t, pi;
?131517?6。
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
{ 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]; 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(\} }
第二组:
一、编程题(每题20分,共40分)
1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结 果和所有高于平均分数的成绩(结果保留两位小数)。
2、编写程序。先编写一个子函数求x,再通过主函数调用该子函数,对输入的一个数y, 求y并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求两个数的和与差。
#include int fun(int a,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”, _____④_____); } 5n 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(\ _____④_____; } } 3、输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33 #include int n, i, j, k; for(n=100; n<= _____①_____; n++) { i = n/100; // 取出n的百位数 j = ___ __②_____; // 取出n的十位数 k = __ ___③_____; // 取出n的个位数 if(n==_____④_____) printf(\ } }