浙江省计算机二级C语言历年试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江省计算机二级C语言历年试卷.
一、程序填空
(1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1
b=i_x0010_0/10;
a*a*a+b*b*b+c*c*c = = i
(2)输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。
n!=0
n=n/10
(3)求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。
if (n<0) n=-n;
s+=n_x0010_;
(4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。return -y ;
m=m/10 ;
(5)调用函数f,从字符串中删除所有的数字字符。
strcpy
else
(6)调用find函数在输入的字符串中查找是否出现瑜敨这个单词。如果查到返回出现的次数,如果未找到返回0。
j=0; j<3; j++
j>=3
(7)输入的一个小写字母,将字母循环后移5个位置后输出。例如:慜变成晜,睜变成扜。
c>='a'&&c<='u'
c=(c-'a'+5)&+'a';
(8)将字符串s中所有的字符'c'删除。
s[i] != '\0'
j++;
(9)对x=1,2,……,10,求
f(x)=x*x-5*x+sin(x)的最大值。
max=f(1);
if (f(x)>max) max=f(x);
(10)输入三个整数,按由小到大的顺序输出这三个数。
int *pa, int *pb
if ( a>b )
(11)调用函数f,去除数组中的负数,输入数6
4 3 1 ,输出结果为:x[7]组.
*m = *m-1;
f (x, &n) ;
(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时的值。float x, float *a, int n return y;
分别统计字符串中英文字母、数字、和其他(13) 字符出现的次数。
for ( i=0; a[i]!='\0'; i++)
a[i]>='0' && a[i]<='9'
函(14)DtoH将输入的十进制整数n通过函数
并将转换结果以字符串形数转换为十六进制数,,将输出十六79式输出。(例如:输入十进制数。4f)进制'a'+x-10; return
str[i]=trans(n_x0016_);
Dec2Bin通过函数n(15)将输入的十进制正整数转换为二进制数,并将转换结输.
出。
m%2
bin[j-1]
(16)数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。
long f(int n); 或者long f(int);
n==1 || n==2
(17)该程序计算四位学生的平均成绩,保存
在结构中,然后列表输出这些学生的信息。pst->math+pst->english+pst->computer
st + i
(18)输入m、n(要求输入数均大于0)。输出它们的最大公约数。
m<=0||n<=0
k=m>n?n:m
(19)求出a中各相邻两个元素的和,并将这些和存放在数组b中,按每行3个元素的形式输出。例如:b[1]=a[0]+a[1],……,b[9]=a[8]+a[9]。
a[i-1]+a[i]
i%3= =0
(20)输入整数n(n>0),求m使得2的m次方。n次方大于或等于m+1的2,n小于或等于
scanf(“%d”,&n), n<=0
t=t*2;
二程序改错
(1)一输入个字符串,将组成字符串的所有非英文字母的字符删除后输出if (tolower(str[i])>='a' && tolower(str[i])<='z') str[k]=str[i]; k++;(2)输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接
到字符串t后面。例如:输入??屄,则字符串t为????屁。t[sl+i]=s[sl-1-i];
t[sl+i ]='\0'; (3)运行时输入10个数,然后分别输出其中的最大值、最小值。for(i=1; i<=10;
i++) { if(i==1) { max=x;min=x;} (4)用选择法对10个整数按升序排序。if
( a[min]>a[j] ) min =j; temp=a[min];
a[min]=a[i]; a[i]=temp;(5)输入x和正数eps,计算多项式1-x+x*x/2-x*x*x/3!+……的和直到末项的绝对值小于eps为止。
t=-t*x/i++ ; }
while(fabs(t)>=eps);(6)运行时若输入a、n分别为3、6,则输出下列表达式的值:long 。3+33+333+3333+33333+333333.
s=0;t=t*10+1;(7)用递归法将一个六位整数n转换称字符串。例如:输入123456,应输出字符串???尶。*s=i_x0010_+'0';
itoa(n,str+5);(8)