首页 08电信专科C语言上机试题(1-10套)

08电信专科C语言上机试题(1-10套)

举报
开通vip

08电信专科C语言上机试题(1-10套)C语言上机试题 08电信2班、电气2班本科C语言上机试题 第一套试题 一、程序修改考试题(8分) 给定程序中函数fun的功能是:给定n个实数,统计并输出其中在平均值以上(包括等于平均值)的实数个数。 例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596, 196.579,196.763 所得平均值为195.838745,在平均值以上的实数个数应为:5 请改正函数fun中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得...

08电信专科C语言上机试题(1-10套)
C语言上机试题 08电信2班、电气2班本科C语言上机试题 第一套试题 一、程序修改考试题(8分) 给定程序中函数fun的功能是:给定n个实数,统计并输出其中在平均值以上(包括等于平均值)的实数个数。 例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596, 196.579,196.763 所得平均值为195.838745,在平均值以上的实数个数应为:5 请改正函数fun中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include int fun(float x[], int n) /************found************/ int j, c=0; float xa=0.0; for (j=0; jn; j++ ) /************found************/ if (x[j] => xa) c++; return c; } main ( ) { float x[100] = {193.199, 195.673, 195.757, 196.051, 196.092, 196.596, 196.579, 196.763}; clrscr( ); printf("%d\n", fun (x, 8)); } 二、程序设计考试题(12分) 编写函数fun,它的功能是:根据以下 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。 例如:m=12,n=8时,运行结果为495.000000。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include float fun(int m, int n) { } main() /* 主函数 */ { printf("P=%f\n", fun (12,8)); } 第二套试题 一、程序修改考试题(8分) 给定程序函数fun的功能是:求S的值。 2² 4² 6² (2k)² 设 S = -------×-------×------×……×----------- 1·3 3·5 5·7 (2k-1)(2k+1) 请改正函数fun中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include #include /************found************/ fun( int k ) { int n; float s, w, p, q; n = 1; s = 1.0; while ( n <= k ) { w = 2.0 * n; p = w - 1.0; q = w + 1.0; s = s * w *w/p/q; n++; } /************found************/ return s } main ( ) { clrscr( ); printf("%f\n", fun (10)); } 二、程序设计考试题(12分) 编写函数fun,它的功能是:计算并输出下列级数和: 1 1 1 S = -------+ ------ + … + ---------- 1*2 2*3 n(n+1) 例如,当n=10时,函数值为:0.909091。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include double fun( int n ) { } main() /* 主函数 */ { printf("%f\n", fun(10)); } 第三套试题 一、程序修改考试题(8分) 给定程序中的函数fun的功能是:计算 S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。例如,当n为5时,函数值应为:10.407143。 (x+1)/(x-2) x>0 f(x)= 0 x=0 或 x=2 (x-1)/(x-2) x<0 请改正函数f和fun中的错误,使程序能输出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include #include f( double x) { if (x == 0.0 || x == 2.0) return 0.0; else if (x < 0.0) return (x -1)/(x-2); else return (x +1)/(x-2); } double fun( int n ) { int i; double s=0.0, y; for (i= -n; i<=n; i++) {y=f(1.0*i); s += y;} return s } main ( ) { clrscr( ); printf("%f\n", fun(5) ); } 二、程序设计考试题(12分) 编写函数fun,它的功能是计算: s = [ln(1)+ln(2)+ln(3)+…+ln(m)]0.5 在C语言中可调用log(n)函数求ln(n)。Log函数的引用说明是:double log(double x); 例如,若m = 20,fun函数值为6.506583。 注意:请刎改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include #include double fun( int m ) { } main() { printf("%f\n", fun(20)); } 第四套试题 一、程序修改考试题(8分) 给定程序中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。请改正函数 fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include int fun() { int a[3][3],sum; int i,j; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) scanf("%d",a[ i ][ j ]); } for (i=0; i < 3; i++) sum=sum+a[ i ][ i ]; printf("Sum=%d\n",sum); } main() { fun(); } 二、程序设计考试题(12分) 编写程序, 实现矩阵(3行3列)的转置(即行列互换) 例如, 输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 注意:请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include #include int fun(int array[3][3]) { int i,j,t; for(i=0; i < 3; i++) for(j=0; j < i; j++) { } } main() { int i,j; int array[3][3]={{100,200,300},{400,500,600},{700,800,900}}; clrscr() ; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Converted array:\n"); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf("\n"); } } 第五套试题 一、程序修改考试题(8分) 给定程序中函数fun的功能是: 将从键盘上输入的每个单词的第一个字母转换为大写字母, 输入时各单词必须用空格隔开,用'.'结束输入。请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main 函数, 不得增行或删行,也不得更改程序的结构! #include int fun(char *c,int status) { /***********found**********/ if (c==' ') return 1; else { if(status && *c <= 'z' && *c >= 'a') /***********found**********/ c += 'A' - 'a'; return 0; } } main() { int flag=1; char ch; printf("请输入一字符串,用点号结束输入!\n") ; do { ch=getchar(); flag=fun(&ch, flag); putchar(ch); }while(ch!='.'); printf("\n"); } 二、程序设计考试题(12分) 程序的功能是: 把20个随机数存入一个数组, 然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。 注意: 部分源程序在文件sh5_2.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。*/ #include #include #define VSIZE 20 int vector[VSIZE] ; int fun(int list[],int size) {// int i,min=0; _______________; _______________; _______________; return min; // } main() { int i; for (i=0;i { vector[i]=rand(); printf("Vector[%d]=%6d\n",i,vector[i]); } i=fun(vector,VSIZE); printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]); } 第六套试题 一、程序修改考试题(8分) 给定程序中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。 例如:当s中的字符串为:"ABCDE"时,则t中的字符串应为:"ABCDEEDCBA"。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! void fun (char *s, char *t) { int i, sl; sl = strlen(s); for(i=0; i < sl; i++) // for( i=0; i <= s1; i ++) t[i] = s[i]; for (i=0; i < sl; i++) t[sl+i] = s[sl-i-1]; t[sl] = '\0'; } main() { char s[100], t[100]; clrscr(); printf("\nPlease enter string s:"); scanf("%s", s); fun(s, t); printf("The result is: %s\n", t); } 二、程序设计考试题(12分) 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。 例如,当a=45,b=12。调用该函数后,c=4152。 注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 void fun(int a, int b, long *c) { } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %d\n", c); } 第七套试题 一、程序修改考试题(8分) 给定程序中函数 fun 的功能是:将字符串中的内容按逆序输出,但不改变字符串中的内容。 例如,若字符串为abcd,则应输出:dcba。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include fun (char a) { if ( *a ) { fun(a+1) ; printf("%c" *a) ; } } main( ) { char s[10]="abcd"; printf("处理前字符串=%s\n处理后字符串=", s); fun(s); printf("\n") ; } 二、程序设计考试题(12分) 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 例如,输入beijing shanghai (为回车键), 函数将返回shanghai。 勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include char *fun ( char *s, char *t) { } main( ) { char a[20],b[10],*p,*q; int i; printf("Input 1th string:") ; gets( a); printf("Input 2th string:") ; gets( b); printf("%s\n",fun (a, b )); } 第八套试题 一、程序修改考试题(8分) 给定程序中 fun 函数的功能是:判断两个指针所指存储单元中的值的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include #include fun ( double *a, *b ) { if ( a * b > 0.0 ) return 1; else return 0; } main( ) { double n , m; printf ("Enter n , m : "); scanf ("%lf%lf", &n, &m ); printf( "\nThe value of function is: %d\n", fun ( &n, &m ) ); } 二、程序设计考试题(12分) 请编一个函数fun(int *a, int n, int *odd, int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给出数组中数据的个数;利用指针odd返回奇数之和,利用指针even返回偶数之和。 例如:数组中的值依次为: 1,9,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even 返回偶数之和 8。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include #define N 20 fun ( int *a, int n, int *odd, int *even ) {// } main( ) { int a[N]={1,9,2,3,11,6}, i, n=6, odd, even; printf ( "The original data is : \n" ); for ( i = 0; i < n; i ++ ) printf ( "%5d", *(a+i) ); printf("\n\n"); fun ( a, n, &odd, &even ); printf ( "The sum of odd numbers: %d\n", odd ); printf ( "The sum of even numbers: %d\n", even ); } 第九套试题 一、程序修改考试题(8分) 给定程序中函数 fun 的功能是:判断字符ch是否与str所指串中的某个字符相同; 若相同,什么也不做,若不同,则将其插在串的最后。请改正程序中的错误,使它能进行正确的操作。 注意:不要改动 main 函数,不得增行或删行,也不得更改程 序的结构! */ #include #include #include void fun(char str, char ch ) { while ( *str && *str != ch ) str++; if ( *str == ch ) { str [ 0 ] = ch; str[1] = '0'; } } main( ) { char s[81], c ; printf( "\nPlease enter a string:\n" ); gets ( s ); printf ("\n Please enter the character to search : " ); c = getchar(); fun(s, c) ; printf( "\nThe result is %s\n", s); } 二、程序设计考试题(12分) 请编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。 例如:字符串中原有的字符串为:abcdefg, 则调用该函数后, 串中的内容为:gfedcba。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 */ #include #include #include #define N 81 fun ( char *s ) {// // } main( ) { char a[N]; printf ( "Enter a string : " ); gets ( a ); printf ( "The original string is : " ); puts( a ); fun ( a ); printf("\n"); printf ( "The string after modified : "); puts ( a ); } 第十套试题 1、​ 程序修改考试题(8分) 下面程序中函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/2!+1/3!+1/4!+...+1/m!,例如:若m=6,则应输出:1.718056。 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!   #include〈stdio.h〉   double fun(int m)   {int y=1, t=1;   int i;  for(i=2; i〈=m; i++)   {t=t*1/i; y+= t; }   return(y);   }   main()  {int n;   printf("Enter n: ");   scanf("%d", &n);   printf("\nThe result is %1f\n", fun(n));   } 二、程序设计考试题(12分) 请编一个函数int fun(int pm),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不是素数,返回0。pm的值由主函数从键盘读入。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include 〈stdio.h〉   #include 〈math.h〉   int fun(int a)   {     }   main() /   { int x;  printf("\nPlease enter a number:");   scanf("%d", &x);   printf("%d\n", fun(x));   } 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 :在函数fun中添加程序段如下: int fun(int a)   {   int i;   if(a==2) return 1;   i=2;   while ((a%i)!=0 && i<=sqrt((float) a)) i++;   if ((a%i)==0)   { printf("%d not is a prime!",a); return 0; }   printf("%d is a prime!",a); return 1; }
本文档为【08电信专科C语言上机试题(1-10套)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_624949
暂无简介~
格式:doc
大小:66KB
软件:Word
页数:13
分类:互联网
上传时间:2011-05-17
浏览量:23