资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
上机考试复习一、上机考试事项考试范围:条件判断、循环、数组、函数。 考试题型:程序填空题。与实验题完全相同 考试日期:6月7日14:00-15:10 考试时间:1小时4题带学生证或有效证件(有学号和照片的证件) 带上机卡,刷卡进入(上机卡卡内余额不能为负值) 只能带文具入场和一张A4草稿纸 补考时间: 6月7日17:00-18:10 注:如果考试时间冲突(下午微积分I),请让学生在下周四10:00- 11:00,12:30-15:30到计算中心316登记. 二、上机考试系统操作1.考试系统操作过程启动计算机,以用户名 del 登录Windows,系统将自动删除E盘上的所有文件(夹) 利用浏览器进入考试系统机房:网址10.71.5.8(未定)选题 复制题程序 粘贴题程序到VC 编程、调试、保存源程序文件.c 递交源程序文件.c 查看程序是否通过(3)浏览递交源程序文件的路径 要记住使用盘、工程名、源程序文件名.c VC+编辑的源程序在工程名的文件夹下 源程序文件名.c 源程序内容改动过,要运行后,再提交。否则源程序要保存过(1)不能改变原程序的输入/输出语句,特别要注意有的题目输出语 句在题目解释处给出,如50008题,输出语句:printf(“%d “, i). 其它程序可以变动,如增加变量定义,函数可不用函数实现等2.考试系统操作注意(4) 工程文件要建在用户盘, VC+在存储工程文件的盘需要工作目录temp(5) 考题repeat循环和用#分割字符串,#表示结束(2) 编程要注意考题的特殊解和边界解例 求最大值程序填空,不要改变与输入输出有 关的语句。 输入一个正整数repeat (0 int main( ) int ri, repeat;int i , max, n, x;scanf(“%d“, for(ri=1; rieps)e=e+t;t=t*x/i;i+;注:判断满足相加求 ex=1+x+x2/2!+x3/3!+xn/n!通项 t=xi/i! 或 t=t*x/i 初值t=1 然后 e=e+t给出n项:sacnf(“%f”,t=1;e=1;for(i=1;ivoid main() double t,e,x;int i;scanf(“%lf“,scanf(“%lf“,t=x;i=1;e=e-1;while(et)e=e-t;i+;t=t*x/i;if(e=0)printf(“%dn“,i-1);elseprintf(“%d-%dn“,i-1,i); 求 s=a+aa+aaa+aa.a n个a 通项 t=t*10+a 然后 s=s+t程序: t=0;s=0;for(i=1;it) s-=t;n+; t=10*t+a; if(s=0)printf(“%dn“,n);elseprintf(“%d-%dn“,n,n+1);2.对数组的遍历算法数组的下标作为循环变量,对数组的每个元素依次访问输入一个正整数n (1 int main( ) int i, n, a10,max;scanf(“%d“, for(i=0; i #include int main( ) int i, n;double a10,aver,def,near;scanf(“%d“, for(i=0; i0) m=m+i;printf(“%dn“,m); 给出任何一个大于6的偶数,求出所有素数之和的组合。例如 偶数10 ,素数之和为 10=3+7,10=5+5#include “math.h“ main() int i,m,n,k=0;scanf(“%d“,for(i=2;i0)n=m-i;if(f(n)0)printf(“%d=%d+%dn“,m,i,n); int f(int m) int i,c;c=sqrt(float)m);for(i=2;i main() int m;scanf(“%d“,while(m)if(f(m)0)printf(“%dn“,m);break;else m-;int f(int m) int i,c;if(m=2) return 1;c=m-1;for(i=2;ij) if(n%j=0)printf(“%ld*“,j);n=n/j;else j=j+1; printf(“%ldn“,n); 注:因子重复用5.分离整数各位 整数n n%10 - 余数 分离最低位n/=10 - 去掉最低位当n0 循环分离整数所有的位输入任意一个正整数,按逆序输出其各位数字.例: 输入12345, 输出 5 4 3 2 1void main() int n;scanf(“%d“,while(n)printf(“%-2d“,n%10);n=n/10; void f(int x) if(x0)printf(“%d“,x%10);f(x/10); void main() int n;scanf(“%d“,f(n); 输入一个整数 n,从高位开始逐位分割并输出它的各位数。 void f(int x) if(x=10) f(x/10);printf(“%-2d“,x%10); void main() int n;scanf(“%d“,f(n); void main() int n,m=1,x;scanf(“%d“,x=n;while(x=10) x=x/10;m=m*10;while(m0)printf(“%-2d“,n/m);n=n%m;m=m/10; 打印水仙花,三位的整数,各位立方之和等于本身如 153=13+53+33 main() int n,x,y,s;for(n=101;n 45 9main() long x;int n;scanf(“%ld“,don=0;don=n+x%10;x=x/10;while(x!=0);x=n;while(x=10);printf(“%dn“,n); 读入三个正整数 m,n和k,判别m,n 的高k位是否相等? 如相等 , 输出“YES“, 如不相等, 输出“NO“.例: 输入 12345 12356 3 输出 “YES“输入 2345 12356 4 输出 “NO“main() long int m,n;int k,mm10,nn10,i,j,a;scanf(“%ld%ld%d“,i=0;while(m)mmi+=m%10;m=m/10; j=0;while(n)nnj+=n%10;n=n/10; for(a=1;a=k+1)printf(“YESn“);elseprintf(“NOn“); 又如,统计并输出整数 in 中数 字 digit 的个数6.数制转化 (1)整数: 除进制数取余 正整数n,转换为x进制数的字符串i=0; while(n0)y=n%x;if(y=10)chi+=y+a-10;else chi+=y+0;n=n/x;chi=0;需字符串逆序 for(j=0;j0)y=n%7;chi+=y+0;n=n/7;chi=0; for(j=0;j=0i-) if(ai=0int i,n=0;long a10=0,m=0;gets(s);for(i=0;si!=0;i+)if(si=0m=0; printf(“nn=%dn“,n);for(i=0;i0)y=d%16;if(y9)ci+=y-10+a;else ci+=y+0;d=d/16;ci=0;for(j=0;j=10)chi+=d+a- 10;else chi+=d+0;s=s*x-d;count+;chi=0;printf(“%sn“,ch);小数s,转换为x进制数的字符串, 保留最多n位小数 例 读入1 个十进制数s(0 void main() float s;int d,count;scanf(“%f“,count=1;printf(“0.“); while(count0)d=s*2;printf(“%d“,d);s=s*2-d;count+;printf(“n“); 字符串是否为回文(正读、反读一样)如”abcdcba” ,若是返回YES ,否返回NO 。 #include f(char s) int i,j,n= strlen(s);for(i=0,j=n-1;i0)ai+= n%10; n=n/10; for(n=0;n=i/2) printf(“ YES“);else printf(“ NO“); void main() long n,m=0,x;scanf(“%ld“,x=n;while(n0)m=m*10+ n%10;n=n/10;if(x=m) printf(“ YES“);else printf(“ NO“); 8.矩阵运算主对角线 i=j上三角 i=j副对角线 i+j=n-1判断 n(ni判断 n(n main() int a66,i,j,n,s;scanf(“%d“,for(i=0;iabs(aii) break; if(i=n) printf(“YES“);else printf(“NO“);printf(“n“); 其它:求矩阵的转置阵。求矩阵主对角线上所有元素的和求矩阵副对角线上所有元素的和求矩阵每一行上所有元素的和。求矩阵每一列上所有元素的和。求矩阵中绝对值最大的元素。求矩阵鞍点形成矩阵输入a,在线元素为a,其他为a-1将每个字符串中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出替换后的字符串. 原字母 对应字母A ZB YY BZ Ac=A+Z-c;将每个字符串中的数字用下面列出的对应数字替换, 其余字符 不变, 输出替换后的字符串. 原数字 对应数字0 91 88 19 0c=0+9-c;9.字符转换又如 设置密码大小写字母转换10.字符串操作 输入字符串s和正整数n,把字符串s的最多前n个字符拷贝到t 中去, 再输出t. main() char s100,t50;int i,n;gets(s);scanf(“%d“,for(i=0;si!=0 int l,r,i;l=0;r=0;i=0;while(si!=0)if(si=()l+;if(si=)r+;if(rl)break;i+; return(l=r); main() char s100;gets(s);if(check(s) printf(“%s“,“YES“);else printf(“%s“,“NO“); 例: 输入 (2+(3*6)-10) 输出YES输入 (2+(3)*6)-10) 输出NO输入 )(A)BC( 输出NO11.统计 输入一行字符,分别统计出其中的字母、数字、空格和其它 字符的个数。 连续输入一批以 # 结束的字符串(字符串的长度不超过80), 遇 # 则全部输入结束。统计并输出每个字符串中大写辅音字 母的个数(大写辅音字母:除A,E,I,O,U以外的大写 字母)。 #include “stdio.h“ int main( ) int count,i,k; char ch,o
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号