浙江省2019c语言二级答案,浙江省计算机二级C语言历年试卷.doc

一、程序填空

(1)找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1

b=i%100/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%10;

(4)调用函数f,将一个整数首尾倒置。例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。

return -y ;

m=m/10 ;

(5)调用函数f,从字符串中删除所有的数字字符。

strcpy

else

(6)调用find函数在输入的字符串中查找是否出现"the"这个单词。如果查到返回出现的次数,如果未找到返回0。

j=0; j<3; j++

j>=3

(7)输入的一个小写字母,将字母循环后移5个位置后输出。例如:"a"变成"f","w"变成"b"。

c>='a'&&c<='u'

c=(c-'a'+5)%26+'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,去除数组中的负数,输入数组x[7],输出结果为:1 3 4 6

*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)将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。(例如:输入十进制数79,将输出十六进制4f。)

return 'a'+x-10;

str[i]=trans(n%16);

(15)将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结

出。

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,2的m+1次方大于或等于n。

scanf(“%d”,&n), n<=0

t=t*2;

二程序改错

一输入个字符串,将组成字符串的所有非英文字母的字符删除后输出 if (tolower(str[i])>='a' && tolower(str[i])<='z') str[k]=str[i]; k++;(2)输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t后面。例如:输入"ABCD",则字符串t为"ABCDDCBA"。 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值