8-1-C语言上机考试试题17 联系客服

发布时间 : 星期日 文章8-1-C语言上机考试试题17更新完毕开始阅读c0bad534f111f18583d05a02

#include void fun(long s,long *t) { long s1=10; *t=s; while(s>0) { s=s/100;

*t=s/10*s1+*t; /* $ */ s1=s1*10; } } main() { long s, t; scanf(\ fun(s,&t); printf(\}

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/* $1 */”行中的语句:*t=s/10*s1+*t;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为4576235时,t中的数为4725。 答案: *t=s*s1+*t; 运行样例2行

运行样例1:输入:4576235

运行结果:4725

4. 以下程序中fun()函数的功能是:统计字符串str中的单词个数。规定:输入的字符串全部由小写字母字符和空格字符组成,每个单词之间都由空格隔开,并且字符串str开始不存在空格。例如输入:how do you do,运行结果为:4。 #include #define N 80

void fun(char *s,int *num) {

int i,n=0;

for(i=0; i<*num;i++)

{ if(s[i]>='a'&&s[i]<='z'&&(s[i+1]==' '||s[i+1]=='\\0')) }

n++;

&num=n; /* $ */ } main() { }

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句&num=n; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:统计字符串str中的单词个数。规定:输入的字符串全部由小写字母字符和空格字符组成,每个单词之间都由空格隔开,并且字符串str开始不存在空格。例如输入:how do you do,运行结果为:4。 答案: *num=n 运行样例2行

运行样例1:输入:how do you do

运行结果为:4 char str[N]; int num=0; gets(str); while(str[num])

num++; fun(str,&num); printf(\

5. 程序填空( 评分标准 10 分,每小题5分)

1.以下程序从键盘输入4个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和,请填空完成。 #include main ( )

{ int i, a[4],s,n;

s=n=0;

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

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

{ if (a[i]<0) /* $ */

}

s+=a[i]; }

printf(\

n++;

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:以下程序从键盘输入4个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和,请填空完成。 答案:continue; 运行样例2行

运行样例1:12 -5 98 50 结果:160, 3

2. 请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。例如:当x[10]={15.654,19.901,16.70,15.202,18.301,12.103,15.5004, 11.005,10.0123,16.0789},结果为:150.46。 #include #include double fun(double x[10]) { } main() {

double avg,x[10]= {15.654,19.901,16.70,15.202,18.301,12.103,15.5004,

11.005,10.0123,16.0789}; avg=fun(x); printf(\int i; long t;

double avg=0.0, sum=0.0; for(i=0;i<10;i++)

sum+=x[i]; avg=sum*100; /* $ */ avg=(double)t/100; return avg;

}

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。例如:当x[10]= {15.654,19.901,16.70,15.202,18.301,12.103,15.5004,

11.005,10.0123,16.0789},结果为:150.46。

答案:t = (long)(avg+0.5); 运行样例1行

运行样例1: 结果:150.46

6. 程序设计 ( 评分标准 20 分,每小题10分)

1.请编写一个函数fun(),它的功能是:求出一个4×M整型二维数组中最小元素的值,并将此值返回调用函数。二维数组定义规定为:

int arr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7}; 参考答案: #define M 4 #include fun (int a[][M]) {

int i,j,min=a[0][0]; for(i=0;i<4;i++) for(j=0;ja[i][j])

min=a[i][j]; /*求出二维数组的最小值*/ return min; } main()

{ int arr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7}; printf(\}

运行样例1行

运行样例1: 运行结果:-32