浙江省C++上机考试程序设计题

2019-04-22 20:21

上机程序调试及程序设计练习

上机程序调试及程序设计练习

一、程序填空

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

#include #include void main() { int i,a,b,c;

for(i=100;i<=999;i++) { a=i/100;

_______1_______ c=i;

if (________2________)

printf(\} }

(2) 输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include void main() { int n,k=0;

scanf(\

while( _____1_____ ){ k++;

_____2_____; }

printf(\}

(3) 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。

#include #include void main() {

int n,s=0;

scanf(\

______ 1 ______ while(n!=0) {

______ 2 ______ n=n/10; }

printf(\

1 of 21 4/1/2013

上机程序调试及程序设计练习

}

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

则输出-76543。 #include #include long f(long n)

{ long m,y=0; m=fabs(n); while(m!=0) { y=y*10+m;

____1____ }

if(n>=0) return y;

else _____2_____ }

void main() {

printf(\ printf(\}

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

#include #include #include void f(char *s) { int i=0;

while(s[i]!='\\0'){

if(isdigit(s[i])) ____1____(s+i,s+i+1); ___2___ i++;} }

void main() { char str[80];

gets(str); f(str); puts(str); }

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

未找到返回0。 #include int find(char *str) { char *fstr=\ int i=0,j,n=0; while (str[i]!='\\0') {

for(______1______)

2 of 21 4/1/2013

上机程序调试及程序设计练习

if (str[j+i]!=fstr[j]) break;

if (______2______) n++; i++; }

return n; }

void main() { char a[80]; gets(a);

printf(\}

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

#include void main() { char c;

c=getchar();

if(______1______) c=c+5; else

if (c>='v' && c<='z')

______2______ putchar(c); }

(8) 将字符串s中所有的字符'c'删除。

#include void main() { char s[80]; int i,j; gets(s);

for(i=j=0; ______1______; i++) if(s[i] != 'c') { s[j]=s[i];

______2______ } s[j]='\\0'; puts(s); }

(9) 对x=1,2,……,10,求f(x)=x*x-5*x+sin(x)的最大值。

#include #include

#define f(x) x*x-5*x+sin(x)

3 of 21 4/1/2013

上机程序调试及程序设计练习

void main()

{ int x; float max;

______1______ for(x=2;x<=10;x++)

______2______ printf(\}

(10) 输入三个整数,按由小到大的顺序输出这三个数。

#include

void swap(______1______) { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; }

void main()

{ int a,b,c,temp;

scanf(\ if(a>b)

swap(&a,&b); if(b>c)

swap(&b,&c);

if(______2______) swap(&a,&b);

printf(\}

(11) 调用函数f,去除数组中的负数,输入数组x[7] ={1,-2,3,4,-5,6,-7},输出结果为:1 #include // 数组元素的删除 void f(int *a,int *m) { int i, j ;

for(i=0;i<*m;i++) if(a[i]<0) {

for(j=i--;j<*m-1;j++) a[j]=a[j+1]; _____1_____; } }

void main()

{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7}; _______2_______; for(i=0;i

4 of 21 3 4 6

4/1/2013

上机程序调试及程序设计练习

}

(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时的值。

#include

float f(float, float*, int); void main()

{ float b[5]={1.1, 2.2, 3.3, 4.4, 5.5 }; printf(\}

float f( _______1________ ) { float y=a[0], t=1; int i;

for(i=1; i

(13) 分别统计字符串中英文字母、数字、和其他字符出现的次数。

#include #include void main()

{ char a[80]; int n[3]={0}, i; gets(a) ; ________1________

{if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/ n[0]++;

else if (________2________) /*统计数字个数*/ n[1]++; else

n[2]++; }

for(i=0;i<3;i++) printf(\ }

(14) 将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。

(例如:输入十进制数79,将输出十六进制4f。) # include # include char trans(int x) {

if(x<10) return '0'+x;

else _______1________ }

int DtoH(int n,char *str) {

int i=0; while(n!=0)

5 of 21 4/1/2013


浙江省C++上机考试程序设计题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:首批中职重点扶持薄弱学校骨干教师培训交流结对关系

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: