浙江省二级复习资料.docx

上传人:m**** 文档编号:562709648 上传时间:2023-06-04 格式:DOCX 页数:30 大小:40.78KB
返回 下载 相关 举报
浙江省二级复习资料.docx_第1页
第1页 / 共30页
浙江省二级复习资料.docx_第2页
第2页 / 共30页
浙江省二级复习资料.docx_第3页
第3页 / 共30页
浙江省二级复习资料.docx_第4页
第4页 / 共30页
浙江省二级复习资料.docx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《浙江省二级复习资料.docx》由会员分享,可在线阅读,更多相关《浙江省二级复习资料.docx(30页珍藏版)》请在金锄头文库上搜索。

1、一、程序填空(1) 找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1#include #includevoid main() int i,a,b,c;for(i=100;i=999;i+) a=i/100;_1_ / b=i%100/10;c=i%10;if (_2_) / a*a*a+b*b*b+c*c*c = = i printf(%d is a Armstrong number!n,i);(2) 输入1个整数后,输出该数的位数。(例输入3214则输出4,输入-23156则输出5)。(3) 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。#

2、include #include void main()int n,s=0;scanf(%d,&n);_ 1 _ / if (n0) n=-n;while(n!=0) _ 2 _ / s+=n%10;n=n/10;printf(%dn,s);(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%10; _1_ / m=m/10 ;if(n=0) return y;els

3、e _2_ / return -y ;void main()printf(%ldt,f(12345); printf(%ldn,f(-34567);(5) 调用函数f,从字符串中删除所有的数字字符。#include #include #include void f(char *s) int i=0;while(si!=0)if(isdigit(si) _1_(s+i,s+i+1); / strcpy_2_ i+; / elsevoid main() char str80; gets(str); f(str); puts(str);(6) 调用find函数在输入的字符串中查找是否出现the这个单

4、词。如果查到返回出现的次数,如果未找到返回0。#include int find(char *str) char *fstr=the;int i=0,j,n=0; while (stri!=0)for(_1_) / j=0; j=3i+;return n;void main() char a80;gets(a);printf(%d,find(a);(7) 输入的一个小写字母,将字母循环后移5个位置后输出。例如:a变成f,w变成b。#include void main() char c;c=getchar();if(_1_) / c=a&c=v & c=z)_2_ / c=(c-a+5)%26+

5、a;putchar(c);(8) 将字符串s中所有的字符c删除。#include void main() char s80;int i,j;gets(s);for(i=j=0; _1_; i+) / si != 0if(si != c) sj=si;_2_ / j+;sj=0;puts(s);(9) 对x=1,2,10,求f(x)=x*x-5*x+sin(x)的最大值。(10) 输入三个整数,按由小到大的顺序输出这三个数。(11) 调用函数f,去除数组中的负数,输入数组x7,输出结果为:1 3 4 6#include / 数组元素的删除void f(int *a,int *m) int i,

6、j ;for(i=0;i*m;i+)if(ai0) for(j=i-;j*m-1;j+) aj=aj+1;_1_; / *m = *m-1;void main() int i,n=7,x7=1,-2,3,4,-5,6,-7;_2_; / f (x, &n) ;for(i=0;in;i+) printf(%5d,xi);printf(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时的值。#include float f(float, float*, int);void main() float b5=1.1, 2

7、.2, 3.3, 4.4, 5.5 ;printf(%fn, f(1.7,b,5) );float f( _1_ ) / float x, float *a, int n float y=a0, t=1; int i;for(i=1; in; i+) t=t*x; y=y+ai*t; _2_ / return y;(13) 分别统计字符串中英文字母、数字、和其他字符出现的次数。#include #include void main() char a80; int n3=0, i; gets(a) ;_1_ / for ( i=0; ai!=0; i+)if (tolower(ai)=a & t

8、olower(ai)=0 & ai=9n1+;elsen2+;for(i=0;i3;i+) printf(%dn,ni);(14) 将输入的十进制整数n通过函数DtoH函数转换为十六进制数,并将转换结果以字符串形式输出。(例如:输入十进制数79,将输出十六进制4f。)# include # include char trans(int x)if(x10) return 0+x;else _1_ / return a+x-10;int DtoH(int n,char *str)int i=0;while(n!=0)_2_ / stri=trans(n%16);n/=16;i+; return i

9、-1;void main()int i,k,n;char *str; / 注意:题目有错!str是悬挂指针。应改为: char str80;scanf(%d,&n);k=DtoH(n,str);for (i=0;i=k;i+) printf(%c,strk-i);(15) 将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。#include void Dec2Bin(int m)int bin32,j;for(j=0;m!=0;j+)binj= _1_; / m%2m=m/2;for( ; j!=0; j- )printf(%d, _2_ ); / binj-1voi

10、d main()int n;scanf(%d,&n);Dec2Bin(n);(16) 数列的第1、2项均为1,此后各项值均为该项前二项之和。计算数列第30项的值。#include _1_ / long f(int n); 或者 long f(int);void main() printf(%ldn,f(30) ;long f(int n) if( _2_ ) / n=1 | n=2return 1;elsereturn f(n-1)+f(n-2);(17) 该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。#include struct STUDENT char name

11、16;int math;int english;int computer;int average;void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ int sum=0;sum = _1_; / pst-math+pst-english+pst-computerpst-average = sum/3;void main() int i;struct STUDENT st4=Jessica,98,95,90,Mike,80,80,90,Linda,87,76,70,Peter,90,100,99;for(i=0;i4;i+) GetAverage(_2_); / st + iprintf(NametMathtEnglishtComputAveragen);for(i=0;i4;i+) printf(%st%dt%dt%dt%dn,sti.name,sti.math,sti.english,puter,sti.average);(18) 输入m、n(要求输入数均大于0)。输出它们的最大公约数。(19) 求出a中各相邻两个元素的和,并将这些和存放在数组b中,按每行3个元素的形式输出。例如:b1=a0+a1,b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号