上海市计算机二级考试C语言模拟题.docx
- 文档编号:8344141
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:14
- 大小:372.30KB
上海市计算机二级考试C语言模拟题.docx
《上海市计算机二级考试C语言模拟题.docx》由会员分享,可在线阅读,更多相关《上海市计算机二级考试C语言模拟题.docx(14页珍藏版)》请在冰豆网上搜索。
上海市计算机二级考试C语言模拟题
计算机二级模拟考试试题
程序功能:
函数f的功能是从字符串中删除所有的数字字符,并返回删除的个数;主程序调用函数f删除字符串str中的数字字符,并输出删除的字符数。
源程序:
#include
#include
intf(chars[])
{inti=0;
____1____;
while(s[i]!
='\0')
if(s[i]>='0'&&s[i]<='9')
{
strcpy(s+i,s+i+1);
count=count+1;/*count表示删除的数字字符数*/
}
else
____2____;
return____3____;
}
voidmain()
{charstr[80];
intm;
printf("输入字符串:
");
gets(str);
m=____4____;
printf("删除数字后的字符串:
");
puts(str);
printf("删除的数字字符个数:
%d",____5____);
}
输入一行字符串,分别统计字符串中各元音字母(AEIOU)的个数(不分大小写)。
源程序:
#include
voidmain()
{chara[80];
intn[5]={0,0,0,0,0};/*数组n存放各元音字母个数*/
____1____;
gets(a);
for(____2____;a[i]!
='\0';i++)
switch(____3____)
{
case'A':
case'a':
n[0]++;break;
case'E':
case'e':
n[1]++;break;
case'I':
case'i':
n[2]++;break;
case'O':
case'o':
n[3]++;break;
case'U':
case'u':
n[4]++;break;
}
for(i=0;i<5;i++)
printf("%d\n",____4____);/*输出各元音字母个数*/
}
程序运行时输出如图所示的数字倒三角形
1234567
12345
123
1
源程序:
#include
voidmain()
{inti,j;
____1____;
for(i=1;i<=4;i++)
{k=1;
for(j=1;j
putchar('');/*输出空格*/
for(j=9-2*i;j>0;j--)
{
printf("%d",k);
____2____;
}
putchar(____3____);
}
}
main()
{
inti,k,n;
charstr[80];
scanf("%d",&n);
k=DtoH(n,str);
for(i=k-1;i>=0;i--)
printf("%c",str(i));
getch();
}
3.程序调试题3(X_2_3.C)
调试要求:
下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。
将结果(包括X_2_3.C文件和X_2_3.EXE文件)保存到目录C:
\KS\中。
功能说明:
函数fun分别统计字符串中大写字母和小写字母的个数,main()函数完成字符串的输入和统计数的输出。
如输入:
AAaaBBb123CCccccd
则输出:
upper=6,lower=8
带错误原程序(见C:
\KS\X_2_3.C):
#include
voidfun(char*s,int*a,int*b)
{
while(*s=='\0')
{
if(*s>='A'&&*s<='Z')
(*a)++;
if(*s>='a'||*s<='z')
(*b)++;
s++;
}
}
main()
{
chars[100];
intupper=0,lower=0;
gets(s);
fun(s,&upper,&lower);
printf("\nupper=%d,lower=%d\n",upper,&lower);
getch();
}
四、编程题(2小题,共35分)
1.编程题1(X_4_1.C)
编程要求:
请按题中的功能要求,编写程序并能得到正确的结果。
将结果(包括X_4_1.C文件和X_4_1.EXE文件)保存到目录C:
\KS\中。
功能说明:
编写程序,通过以下步骤验证一个正整数对是否符合特定的编码规则:
(1)输入正整数a与b;
(2)计算a的所有不同的质因子(包括1)之积,记为s;
(3)如果s等于b,则通过验证,输出"OK",否则输出"Err"。
输出格式参见以下示例。
运行示例1:
输入:
58842
输出:
588:
1*2*3*7=42,OK
说明:
输入数为588(对应a)和42(对应b),588的质因子为1、2、3和7,其累乘结果为42(对应s),由s等于b(均为42),输出OK。
运行示例2:
输入:
1755
输出:
17:
1*17=17,Err(17!
=55)
说明:
质因子为1和17,乘积仍为17,不等于b(55),输出Err,及不通过原因"(17!
=55)"。
2.编程题2(X_4_2.C)
编程要求:
请按题中的功能要求,编写程序并能得到正确的结果。
将结果(包括X_4_2.C文件和X_4_2.EXE文件)保存到目录C:
\KS\中。
功能说明:
编写程序,实现以下成绩处理功能(输出格式参见示例):
(1)输入n和n个成绩(成绩为浮点数类型,数组名记为a,假设1≤n≤50);
(2)计算并输出成绩的累加和(记为sum)与平均成绩(记为ave),将≥ave的成绩归为A档,将<ave的成绩归为B档;
(3)分别统计A、B两档的人数,计算在总人数中的比率;
(4)求出A档学生的最低分和B档学生的最高分,它们与平均成绩的差值;
(5)将上述结果输出到文本文件"X42.TXT"中。
运行示例:
输入:
955.599.550.090.08859.5486078.0
输出:
Sum=628.5,Ave=69.8
A:
4,44.4%B:
5,55.6%
MinA:
78.0,+8.2MaxB:
60.0,-9.8
运行后文件内容:
Sum=628.5,Ave=69.8
A:
4,44.4%B:
5,55.6%
MinA:
78.0,+8.2MaxB:
60.0,-9.8
说明:
输入的第1个数表示学生人数(n=9),接着输入的9个成绩中,累加和为628.5(所有小数均保留一位小数输出),平均分为69.8分;平均分以上(A档)有4人,占44.4%,平均分以下(B档)有5人,占55.6%;A档的最低分为78分,超出平均分8.2分,B档的最高分为60分,距离平均分还有9.8分的差距。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海市 计算机 二级 考试 语言 模拟