c语言输入252则输出应该是20,[转载]计算机C语言二级上级考试套题(一)
第一套
1.程序填空题
给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:
2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include
double fun( double r)
{
return 3.14159*【1】/2.0;
}
void main()
{
double
x;
printf("Enter x: ");
scanf("%lf",【2】);
printf("s=%lfn",fun(【3】));
}
2.程序改错题
下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:
f(x)=
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#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
}
void main()
{ system("CLS");
printf("%fn", fun(5));
}
3.程序设计题
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)
例如,若n的值为11时,函数的值为1.833333。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
#include
float fun(int n)
{
}
void main()
{
FILE *wf;
int n;
float s;
system("CLS");
printf("nPlease enter N: ");
scanf("%d",&n);
s=fun(n);
printf("The result is:%fn " , s);
wf=fopen("out.dat","w");
fprintf (wf,"%f",fun(11));
fclose(wf);
}
【参考答案】:1.(1)r*r (2)&x (3)x
.2. (1)错误:f(double
x) 正确:double f(double x)
2)错误:return
s 正确:return s;
3. float fun(int n)
{
int
i,s1=0;
float
s=0.0;
for(i=1;i<=n;i++) {
s1=s1+i;
s=s+1.0/s1;
}
return s; }
第2套
1.程序填空题
请补充main函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。
例如,当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#include
void main()
{
int n,m;
long sum;
【1】;
system("CLS");
printf("nInput n,mn");
scanf("%d,%d",&n,&m);
while(n<=m)
{
【2】;
n++;
}
printf("sum=%【3】n",sum);
}
2.程序改错题
下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值:
t=1+1/2+1/3+1/4+…+1/m
例如,若输入5,则应输出2.283333。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
double fun(int m)
{
double t=1.0;
int I;
for(I=2;I<=m;I++)
t+=1.0/k;
return I;
}
void main()
{int m;
system("CLS");
printf("nPlease enter 1integer number:
");
scanf("%d",&m);
printf("nThe result is %1fn", fun(m));
}
3.程序设计题
请编写一个函数 void fun(char *tt,int
pp[]),统计在tt字符串中"a"到"z"26个字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
void fun(char *tt,int pp[] )
{
}
void main( )
{
FILE *wf;
char aa[1000];
int bb[26], k;
system("CLS");
printf("nPlease enter a char string : ")
;
scanf("%s",aa);
fun(aa,bb);
for (k=0 ;k<26 ; k++)
printf("%d ",bb[k]) ;
printf("n ");
wf=fopen("out.dat","w");
fun ("abcdefgabcdeabc",bb) ;
for (k=0 ;k<26 ; k++)
fprintf(wf,"%d ",bb[k]) ;
fclose(wf);
}
【参考答案】:1. (1)
sum=0 (2)
sum+=n (3) ld
2.
(1)错误:t+=1.0/k; 正确:t+=1.0/I;
(2)错误:return
I; 正确:return t;
3. void fun(char*tt,int pp[])
{
int
i;
for(i=0;i<26;i++)
pp[i]=0;
for(;*tt!=' ';tt++)
if(*tt>='a'&&*tt<='z')
pp[*tt-'a']++;
}
第3套
1.
程序填空题
给定程序的功能是:判断字符ch是否与串str中的某个字符相同,若相同什么也不做,若不同则插在串的最后。
注意:部分源程序给出如下。
请勿改动函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
void fun (char *str,char ch)
{
while (*str
&&*str !=ch) str++;
if(*str【1】ch)
{ str[0]=ch;
【2】=0;
}
}
void main()
{char s[81],c;
system("CLS");
printf("nPlease enter a string : ");
gets(s);
printf("n Please enter the character to
search : ");
c=getchar();
fun(【3】);
printf("nThe result is %sn",s);
}
2.程序改错题
下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
void fun(char *s,int a,int b)
{
while(*s)
{
if(*s>='A' &&
*s<='Z')
a++;
if(*s>='a' &&
*s<='z')
b++;
s++;
}
}
main()
{
char
s[100];
int
upper=0,lower=0;
printf("nplease a string :");
gets(s);
fun(s,&upper,&lower);
printf("n upper=%d lower=%dn",upper,lower);
}
3.程序设计题
请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符1,则输出3。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
#define M 81
int fun(char *ss, char c)
{
}
void main()
{
FILE *wf;
char a[M], ch;
system("CLS");
printf("nPlease enter a string: ");
gets(a);
printf("nPlease enter a char: ");
ch=getchar();
printf("nThe number of the char is: %dn",
fun(a,ch));
wf=fopen("out.dat","w");
fprintf(wf,"%d",fun("123412132",'1'));
fclose(wf);
}
【参考答案】:1. (1) != (2) str[1]或*(str+1)
(3) s,c
2. (1)错误:void fun(char *s, int a, int b)
正确:void fun(char *s, int *a, int *b)
(2)错误:a++; 正确:(*a)++;
(3)错误:b++; 正确:(*b)++;
3. int fun(char *ss, char c)
{
int
i=0;
for(;*ss!=' ';ss++)
if(*ss==c)
i++;
return
i;
}
第4套
1. 程序填空题
请补充函数fun,该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数fun。
例如,输入"abcdef",输出"ace"。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 80
【1】
{
int i, j;
【2】;
for (i=0;i
{
if(s[i]%2!=0)
s[j++]=s[i];
}
【3】;
}
void main()
{
int i=0, strlen=0;
char str[N];
system("CLS");
printf("nInput a string:n");
gets(str);
while(str[i]!=' ')
{
strlen++;
i++;
}
fun(str, strlen);
printf("n*** display string ***n");
puts (str);
}
2.程序改错题
下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
long fun(long num)
{
long k;
do
{
k
*=num%10;
num
=10;
}while(num);
return(k);
}
main()
{
int n;
printf("Please enter a number: ");
scanf("%ld",&n);
printf("n%ldn",fun(n));
}
2. 程序设计题
请编写一个函数fun,它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为50,则程序输出:
7 11 14 21 22 28 33 35 42 44 49
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include
#include
#include
#define M 100
void fun(int m, int *a, int *n)
{
}
void main()
{
FILE *wf;
int aa[M],n,k;
system("CLS");
fun(50,aa,&n);
for(k=0;k
if((k+1)%20==0)
{printf("%4d",aa[k]);
printf("n");
}
else
printf("%4d",aa[k]);
printf("n");
wf=fopen("out.dat","w");
for(k=0;k
fprintf(wf,"%4d",aa[k]);
fclose(wf);
}
【参考答案】:1.(1) void fun(char s[],int n)
(2) j=0
(3) s[j]=' '
2. (1)错误:long
k; 正确:long k=1;
(2)错误:num=10; 正确:num/ =10;
3. void fun(int m, int *a, int *n)
{
int
i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)
a[j++]=i;
*n=j;
}
c语言输入252则输出应该是20,[转载]计算机C语言二级上级考试套题(一)相关推荐
- c语言程序上级考试答案,[转载]计算机C语言二级上级考试套题(二)
第5套 1. 程序填空题 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年. 例如,1900年不是闰年,2004是闰年. 注意:部分源程序给出如下. 请勿改动main函数和其他函数中的任何内 ...
- c语言在一组数据中找最大值最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...
问题标题 用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均 2019-7-3来自ip:18.156.193.207的网友咨询 浏览量:318 手机版 ...
- C语言 输入月份,输出该月有多少天(假设不考虑闰年的情况下)。
C语言 输入月份,输出该月有多少天(假设不考虑闰年的情况下). 大月(31天):1,3,5,7,8,10,12 小月(30天):4,6,9,11 2月:平年28天,润年29天(因题目不考虑闰年,所以按 ...
- C语言输入一个数输出对应的值
例8:C语言实现当num<0时,输出result=-1:当num>0时,result=1:当num=0时,result=0.编写一个C程序,输入一个num值,要求输出相应的result值. ...
- C语言输入月份,输出月份的英文名
C语言输入月份,输出月份的英文名 #include<stdio.h> int main() {char *month[13] = { "illegal","J ...
- 输入asc码输出字符c语言,输入一个字符输出ascii码
C语言 输入一个字母,输出与之对应的ASCII码,输入用C语言编写. #include "stdafx.h" //VS 预编译头文件,其他系统请删除 #include #inclu ...
- C语言输入字符串翻转输出
将输入字符串翻转输出.例如abc→cba #include<stdio.h> #include<string.h> #define max 256 int main() {ch ...
- 电子科技大学20春《c语言》在线作业1,[电子科技大学]20秋《C语言》在线作业123(答案)...
试卷总分:100 得分:100 第1题,有定义:float y,*p=&y;,假定变量y在内存中所占地址为100~103.那么p的值为( ) A.100 B.101 C.102 D.1 ...
- c语言输入若干数输出最小值循环结构,C语言上机150道题
C语言上机150道题及参考答案 1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分. 2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位.例如输入 ...
最新文章
- matlab 灰色Verhulst预测模型
- android 打卡app,日常小打卡app
- 生成模型与判别模型区别
- Plus from Picture
- 【Blog.Core开源】将Program升级为.NET6.0版本
- Redis:16---常用功能之(慢查询日志)
- Mac重复文件清理软件—Cisdem Duplicate Finder for mac
- C# 中使用log4net 日志记录
- Mac录制屏幕:自带QuickTime软件和QQ
- 推荐算法竞赛TOP解决方案汇总
- echart的x轴换行
- ubuntu18.04新体验
- Linux paste命令
- DRBD配置文件参数解析
- mysql查询学生表年龄语句_表是student表-从学生表tstudent-学生表student
- MATLAB 剔除异常点
- 【科普】关于装机CPU参数介绍及选取原则
- PHP实现给图片加文字水印
- 基于matlab的Hough变换图像直线检测算法仿真
- 克隆vm虚拟机详细步骤