没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第四部分 全国计算机等级考试二级 C语言上机考试试题详解
第 7 章全国计算机等级考试二级 C语言上机考试试题
第 1 套
填空题: 请补充 main 函数,该函数的功能是:把一个字符串中的所有小写字母字符全
部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。
例如:当 str[N]= “ 123 abcdef ABCDEF! ”时,结果输出: “123ABCDEFABCDEF!”。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的
若干表达式或语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 80
main()
{ int i ;
char str[N]="123abcdef ABCDEF!" ;
char *pf=str ;
printf("***original string***") ;
puts(str) ;
【1】 ;
while(*(pf+j))
{ if(*(pf+j)>='a'&&*(pf+j)<='z')
{ *(pf+j)= 【2】 ;j++ ;}
else
【3】 ;
}
printf("******new string******") ;
puts(str) ;
system("pause") ;
}
改错题: 下列给定程序中,函数 fun() 的功能是逐个比较 a,b 两个字符串对应位置中
的字符,把 ASCⅡ值小或相等的字符依次存放到 c 数组中,形成一个新的字符串。
例如:a 中的字符串为 fshADfg ,b 中的字符串为 sdAEdi , 则 c 中的字符串应为 fdAADf 。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <string.h>
void fun(char *p ,char *q ,char *c)
{ int k=0 ;
while(*p||*q)
/*************found**************/
{ if (*p<=*q)
c[k]=*q ;
else c[k]=*p ;
if(*p) p++ ;
if(*q) q++ ;
/*************found**************/
K++
}
}
main()
{ char a[10]="fshADfg" ,b[10]="sdAEdi" ,c[80]={ ‘\0 ’};
fun(a ,b,c) ;
printf("The string a :") ;puts(a) ;
printf("The string b :") ;puts(b) ;
printf("The result :") ;puts(C) ;
}
编程题: 请编写函数 fun() ,其功能是将两个两位数的正整数 a、 b 合并形成一个整数
放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的个位和十位上, b 数的十
位和个位数依次放出 c 数的百位和千位上。
例如,当 a=16,b=35, 调用该函数后, c=5361。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写
的若干语句。
试题程序:
#include<stdio.h>
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 :% ldln" ,c) ;
}
第 2 套
填空题: 请补充 main 函数,该函数的功能是求方程 ax
2
+bx+c=0 的两个实数根。方程的
系数 a、 b、c 从键盘输入,如果判别式 (disc=b
2
-4ac) 小于 0,则要求重新输入 a、b、 c 的
值。
例如,当 a=1,b=2,c=1 时,方程的两个根分别是 x1=-1.00 ,x2=-1.00 。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun() 的横线上填入所编写
的若干表达式或语句。
试题程序:
#include"math.h"
#include<stdio.h>
main()
{ float a , b,c,disc ,xl ,x2;
do
{ printf("Input a ,b,c:") ;
scanf(" %f ,% f ,% f" ,&a,&b,&c) ;
disc=b*b-4*a*c ;
if(disc<0)
printf("disc= %f\n lnput again!\n" , disc) ;
}while( 【1】 ) ;
printf("*******the result*******\n1") ;
x1=【2】;
x2=【3】;
printf("\nx1= %6.2f\nx2= %6.2f\n" ,x1,x2) ;
}
改错题 :下列给定程序中,函数 fun() 的功能是根据整型形参 m,计算如下公式的值。
y=l- 1/(2 ×2) +1/(3 ×3) -1/(4 ×4) +… +(-1)
(m+1)
/(m ×m)
例如: m中的值为 5,则应输出 0.838611 。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<conio.h>
#include<stdio.h>
double fun(int m)
{ double y=1.0 ;
/*************found**************/
int j=1, i;
for(i=2 ;i<=m; i++)
{ j=-1*j ;
/*************found**************/
y+=1/(i*i) ;
}
return(y) ;
}
main()
{ int n=5 ;
printf("\nThe result is %lf\n" ,fun(n)) ;
}
编程题: 请编一个函数 void fun(int tt[M][N] , int pp[N] ,tt 指向一个 M行 N 列的
二维数组,求出二维数组每列中最大元素,并依次放入 pp 所指的一维数组中。二维数组中
的数已在主函数中给出。
注意;部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写
的若干语句。
试题程序:
#include <conio.h>
#include <stdio.h>
#define M 3
#define N 4
void fun(int tt[M][N] ,int p[N])
{
}
main()
{ int t[M][N]={{68 ,32,54,12} ,{14 ,24,88,58} , {42 ,22,44,56}} ;
int p[N] ,i ,j , k;
printf("The riginal data is :\n") ;
for(i=0 ; i<M;i++)
{ for(j=0 ;j<N ;j++)
printf(" %6d", t[i][j)) ;
printf("\n") ;
}
fun(t ,p) ;
printf("\nThe result is :\n") ;
for(k=0 ; k<N;k++)
printf(" %4d" ,p[k]) ;
printf("\n") ;
}
第 3 套
填空题: 数组 xx[N] 保存着一组 3 位数的无符号正整数,其元素的个数通过变量 num传
入函数 fun() 。请补充函数 fun() ,该函数的功能是: 从数组 xx 中找出个位和百位的数字相
等的所有无符号整数,结果保存在数组中,其个数由函数 fun() 返回。
例 如 : 当 xx[8]={135,78,72,32,222 , 424,333,141,541} 时 ,
bb[6]={787,232,222,424,333,141} 。
注意:部分源程序给出如下 .
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun() 的横线上填入所编写
的若干表达式或语句。
试题程序:
#include<conio.h>
#define N 1000
int fun(int xx[] ,int bb[] ,int num)
{ int i ,n=0;
int g ,b;
for(i=0 ;i<num;i++)
{ g= 【1】 ;
b=xx[i]/100 ;
if(g==b)
【2】 ;
}
return 【3】 ;
}
main()
{ int xx[8]={135 ,787, 232,222,424,333,141,541} ,yy[N] ;
int num=8 ,n=0,i=0;
printf("***original data***\n") ;
for(i=0 ;i<num;i++)
printf(" %u" ,xx[i]) ;
printf("\n\n\n") ;
n=fun(xx ,YY, num);
printf("\nyy=") ;
for(i=0 ;i<n ; i++)
printf(" %u" ,yy[i]) ;
}
改错题: 下列给定程序中函数 fun() 的功能是计算 1/n! 的值。
例如:给 n 输入 5,则输出 0.008333 。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<conio.h>
/*************found**************/
int fun(int n)
{ double result=1.0 ;
if(n==0)
return 1.0 ;
while(n>1&&n<170)
/*************found**************/
result*=n++ ;
result=1/result ;
return result ;
}
main()
{ int n ;
printf("Input N :") ;
scanf(" %d",&n) ;
printf( ”\n1/ % d!= %lf\n" ,n,fun(n)) ;
}
编程题: 编写函数 fun() ,它的功能是求 n 以内 ( 不包括 n) 同时能被 5 与 11 整除的所
有自然数之和的平方根 s,并作为函数值返回。
剩余48页未读,继续阅读
资源评论
@HNUSTer
- 粉丝: 2450
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功