省二级《C程序设计》上机考试练习Word下载.docx
- 文档编号:15689810
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:34
- 大小:27.12KB
省二级《C程序设计》上机考试练习Word下载.docx
《省二级《C程序设计》上机考试练习Word下载.docx》由会员分享,可在线阅读,更多相关《省二级《C程序设计》上机考试练习Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
%d"
&
n);
while(_____1_____){//n!
=0
k++;
_____2_____;
//n=n/10
}
%d\n"
k);
(3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。
{
intn,s=0;
______1______//if(n<
0)n=-n;
while(n!
=0){
______2______//s+=n%10;
n=n/10;
s);
(4)调用函数f,将一个整数首尾倒置。
例如:
若程序输入12345,则输出54321;
若程序输入-34567,则输出-76543。
longf(longn)
{longm,y=0;
m=fabs(n);
while(m!
=0){
y=y*10+m%10;
____1____//m=m/10;
if(n>
=0)returny;
else_____2_____//return-y;
printf("
%ld\t"
f(12345));
%ld\n"
f(-34567));
(5)调用函数f,从字符串中删除所有的数字字符。
string.h>
ctype.h>
voidf(char*s)
{inti=0;
while(s[i]!
='
\0'
){
if(isdigit(s[i]))____1____(s+i,s+i+1);
//strcpy
___2___i++;
}//else
{charstr[80];
gets(str);
f(str);
puts(str);
(6)调用find函数在输入的字符串中查找是否出现"
the"
这个单词。
如果查到返回出现的次数,如果未找到返回0。
intfind(char*str)
{char*fstr="
;
inti=0,j,n=0;
while(str[i]!
)
{
for(______1______)//j=0;
j<
3;
j++
if(str[j+i]!
=fstr[j])break;
if(______2______)n++;
//j>
=3
i++;
returnn;
{chara[80];
gets(a);
find(a));
(7)输入的一个小写字母,将字母循环后移5个位置后输出。
"
a"
变成"
f"
,"
w"
b"
。
{charc;
c=getchar();
if(______1______)//c>
a'
&
c<
u'
c=c+5;
else
if(c>
v'
&
c<
z'
______2______//c=(c-'
+5)%26+'
putchar(c);
(8)将字符串s中所有的字符'
c'
删除。
{chars[80];
inti,j;
gets(s);
for(i=j=0;
______1______;
i++)//s[i]!
='
if(s[i]!
{s[j]=s[i];
______2______//j++;
s[j]='
puts(s);
(9)对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。
#definef(x)x*x-5*x+sin(x)
{intx;
floatmax;
______1______//max=f
(1);
for(x=2;
x<
=10;
x++)
______2______//if(f(x)>
max)max=f(x);
%f\n"
max);
(10)输入三个整数,按由小到大的顺序输出这三个数。
voidswap(______1______)//int*pa,int*pb
{/*交换两个数的位置*/
inttemp;
temp=*pa;
*pa=*pb;
*pb=temp;
{inta,b,c,temp;
%d%d%d"
a,&
b,&
c);
if(a>
b)
swap(&
b);
if(b>
c)
if(______2______)//if(a>
b)
%d,%d,%d"
a,b,c);
(11)调用函数f,去除数组中的负数,输入数组x[7],输出结果为:
1346
//数组元素的删除
voidf(int*a,int*m)
{inti,j;
for(i=0;
*m;
if(a[i]<
0){
for(j=i--;
j<
*m-1;
j++)a[j]=a[j+1];
_____1_____;
//*m=*m-1;
{inti,n=7,x[7]={1,-2,3,4,-5,6,-7};
_______2_______;
//f(x,&
n);
n;
i++)printf("
%5d"
x[i]);
);
(12)调用函数f计算代数多项式1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x当x=1.7时的值。
floatf(float,float*,int);
{floatb[5]={1.1,2.2,3.3,4.4,5.5};
f(1.7,b,5));
floatf(_______1________)//floatx,float*a,intn
{floaty=a[0],t=1;
inti;
for(i=1;
i<
i++){t=t*x;
y=y+a[i]*t;
_____2_____//returny;
(13)分别统计字符串中英文字母、数字、和其他字符出现的次数。
intn[3]={0},i;
gets(a);
________1________//for(i=0;
a[i]!
i++)
{if(tolower(a[i])>
tolower(a[i])<
)/*统计字母个数*/
n[0]++;
elseif(________2________)/*统计数字个数*///a[i]>
0'
a[i]<
9'
n[1]++;
n[2]++;
n[i]);
(14)将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。
(例如:
输入十进制数79,将输出十六进制4f。
#include<
chartrans(intx)
if(x<
10)return'
+x;
else_______1________//return'
+x-10;
intDtoH(intn,char*str)
inti=0;
while(n!
=0)
________2________//str[i]=trans(n%16);
n/=16;
i++;
}
returni-1;
inti,k,n;
char*str;
//注意:
题目有错!
str是悬挂指针。
应改为:
charstr[80];
scanf("
k=DtoH(n,str);
for(i=0;
=k;
%c"
str[k-i]);
(15)将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。
voidDec2Bin(intm)
intbin[32],j;
for(j=0;
m!
=0;
j++)
bin[j]=______1______;
//m%2
m=m/2;
for(;
j!
j--)
______2______);
//bin[j-1]
intn;
Dec2Bin(n);
(16)数列的第1、2项均为1,此后各项值均为该项前二项之和。
计算数列第30项的值。
_______1______//longf(intn);
或者longf(int);
{printf("
f(30));
longf(intn)
{if(______2______)//n==1||
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计 二级 程序设计 上机 考试 练习