已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c0745daa29093a1325c6b8970c4a0b93.pdf信息学奥林匹克竞赛程序设计快速入门篇(C语言)第 6 页 共 6 页实验一、 顺序结构程序设计1、 编写一个小程序,在屏幕上显示:*#includestdio.hmain() printf( *n); printf( *n); printf( *n); printf(*n); getchar(); return 0; 2、 求两个整数之和;#includestdio.hmain() int a,b,c; a=23; b=322; c=a+b; printf(%d,c); getchar(); return 0; 拓展练习:求两个整数之商;3、 求半径为10的圆面积。#include stdio.hmain()float r,s;printf(nr:);scanf(%f,&r);s=3.14*r*r;printf(s=%.2f,s);getchar();拓展练习:求圆的周长;4、 已知三角形两边及夹角的角度,求三角形的面积。#include stdio.h#include math.h#define pi 3.1415926main()float a,b,c,s;printf(na,b,c:);scanf(%f,%f,%f,&a,&b,&c);s=a*b*sin(c*pi/180)/2;printf(s=%.2f,s);5、 输入一个百位整数,反序输出。#include stdio.hmain()int x,y,gw,sw,bw;printf(nx:);scanf(%d,&x);bw=x/100;sw=(x/10)%10;gw=x%10;y=gw*100+sw*10+bw;printf(%d,y);6、 交换两个变量中的值。方法1#include stdio.hmain()int a=1,b=2,t;t=a; a=b; b=t;printf(na=%d,b=%d,a,b);方法2#include stdio.hmain()int a=1,b=2;a=a+b; b=ab; a=ab;printf(na=%d,b=%d,a,b);7、 输入一个小写字母,输出一个相应的大写字母。#includestdio.hmain() char ch; scanf(%c,&ch); printf(%c,ch-32); getchar(); getchar(); return 0; 实验二 选择结构程序设计8、 求半径为10的圆面积。(if结构)#include stdio.hmain()float r,s;printf(nr:);scanf(%f,&r);if (r0) s=3.14*r*r; printf(s=%.2f,s); else printf(r wrong!);9、 输入一个三位整数,反序输出。(if结构)#include stdio.hmain()int x,y,gw,sw,bw;printf(nx:);scanf(%d,&x);if (x=100 & xb) c=a;else c=b;printf(c=%d,c);方法2#include stdio.hmain()int a,b,c;printf(na,b:);scanf(%d,%d,&a,&b);c=a;if (ba) c=b;printf(c=%d,c);11、 输入三个数,降序输出。#include stdio.hmain()int a,b,c,t;printf(na,b,c:);scanf(%d,%d,%d,&a,&b,&c);if (ab)t=a;a=b;b=t;if (ac)t=a;a=c;c=t;if (bc)t=b;b=c;c=t;printf(%d,%d,%d,a,b,c);12、 根据重量求运输费用(用三种方法)。方法1 并列单分支#include stdio.hmain()float w,p;printf(nw:);scanf(%f,&w);if (w0 & w20) p=2*20+(w20)*3; printf(p=%f,p);方法2 分支嵌套#include stdio.hmain()float w,p;printf(nw:);scanf(%f,&w);if (w=0) printf(weight error);else if (w20) p=2*20+(w20)*3; printf(p=%f,p); else if (w0) p=2*w; printf(p=%f,p); else printf(weight error);13、 输入一个日期,判别该日期为当年的第几天。#include stdio.hmain()int year,month,day,s;printf(nyear,month,day:);scanf(%d,%d,%d,&year,&month,&day);s=day;switch(month1) case 11: s=s+30; case 10: s=s+31; case 9: s=s+30; case 8: s=s+31; case 7: s=s+31; case 6: s=s+30; case 5: s=s+31; case 4: s=s+30; case 3: s=s+31;case 2: if (year%4=0 & year%100!=0)|year%400=0) s=s+29; else s=s+28; case 1: s=s+31; printf(ns=%d,s);实验三、循环结构14、 连续输出15个“*”;#includestdio.hmain() int i; for(i=1;i=15;i+) printf(*); getchar(); return 0; 15、 求 s=1+2+3+4+5+.+100 的和。#include stdio.hmain()int i,s;s=0;for(i=1;i=100;i+) s=s+i;printf(ns=%d,s);getchar();return 0;拓展练习:求5!值。16、 设计程序求 s=1!+2!+3!+.+10! 的和。方法1:通项法#include stdio.hmain()int i,j; long s,t;s=0;for(i=1;i=10;i+) t=1; for(j=1;j=i;j+) t=t*j; s=s+t; printf(ns=%ld,s);方法2:递推法#include stdio.hmain()int i; long s,t;s=0; t=1;for(i=1;i=10;i+) t=t*i; s=s+t; printf(ns=%ld,s);17、 输出100999之间的所有水仙花数,并求和。(水仙花数:153=1*1*1+5*5*5+3*3*3)main()int i,j,k,s,t;s=0;for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) t=i*100+j*10+k; if (i*i*i+j*j*j+k*k*k=t) printf(n%d,t); s=s+t; printf(ns=%d,s);18、 求两个整数的最大公约数和最小公倍数。main()int a,b,x,s;printf(na,b:);scanf(%d,%d,&a,&b);s=a*b;while (a%b!=0) x=a%b; a=b; b=x; printf(ngys=%d,gbs=%d,b,s/b);19、 运用循环结构打印出n行:*#includestdio.hmain() int i,j,n; scanf(%d,&n); for(i=1;i=n;i+) for(j=1;j=i;j+) printf(*); printf(n); getchar(); getchar(); return 0; 拓展练习:使用循环嵌套完成第一题。实验四、一维数值型数组20、 求任意10个数的平均值。#define N 10main()int i,s;int aN=1,2,3,4,5,6,7,8,9,10; /* 也可以利用输入语句赋值 */s=0;for(i=0;iN;i+) printf(%3d,ai); s=s+ai; printf(ns=%d,s/N);数组元素的输入:printf(n%d number:,N);for(i=0;iN;i+) scanf(%d,&ai);21、 在任意10个数中求下标为偶数的元素和。#define N 10main()int i,s;int aN=12,2,3,4,13,5,4,6,12,4; /* 也可以利用输入语句赋值,见题1。*/s=0;for(i=0;iN;i+) printf(%3d,ai); if (i%2=0) s=s+ai; printf(ns=%d,s);实验五、 二维数值型数组、字符型数组22、 求二维数组所有元素和,并按行输出该数组。#define M 5#define N 4main()int aMN= 1, 2, 3, 4 , 5, 6, 7, 8 , 9,10,11,12 , 13,14,15,16 , 17,18,19,20 ;int i,j,s;s=0;for(i=0;iM;i+) for(j=0;jN;j+) s=s+aij;printf(ns=%d,s);for(i=0;iM;i+) printf(n); for(j=0;j=a & ai=0 & ai=9) n+; return(n);26、 利用函数设计,求任意一组数据的平均值。float avg(int a,int n) int i; float s=0; for(i=0;in;i+) s=s+ai; return s/n;#define N 10main()int aN=1,2,3,4,5,6,7,8,9,10; printf(n%f,avg(a,N);实验七、结构体27、 利用结构体求“平面上两点间的距离”。#include math.hstruct point float x; float y; ;main() struct point p1,p2; float d,dx,dy; printf(np1(x,y):); scanf(%f,%f,&p1.x,&p1.y); printf(np2(x,y):); scanf(%f,%f,&p2.x,&p2.y); dx=p1.xp2.x; dy=p1.yp2.y; d=sqrt(dx*dx+dy*dy); printf(nd=%f,d); 实验八、文件指针28、 采用文件输入、输出的形式,求两个数的和。/输入输出文件开始都是以写的形式产生的#include stdio.h /包含基本的输入输出头文件 main() /主函数 ,标准C+,要求有返回值,不能是void FILE *fin,*fout; /定义输入输出文件指针 int a,b,c; /定义相关变量 fin=fopen(filename.in,r); /以读取的方式打开输入文件,指向fin fout=fopen(filename.out,w);/以写入的方式打开输出文件,指向fout fscanf(fin,%d%d,&a,&b); /读取输入文件中的数值,存入变量 a,b中 c=a+b; /计算 fprin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海洋科技行业海洋资源开发与环保技术创新研究报告及未来发展趋势预测
- 2025年制造业与物流业供应链深度融合物流供应链管理考核试卷
- 2025海南文昌市人民医院同济文昌医院第二批编外人员招聘28人(1号)考试笔试备考题库及答案解析
- 2025年中国南水北调集团新能源投资有限公司秋季校园招聘30人(甘肃有岗)考试笔试模拟试题及答案解析
- 2025贵州六盘水师范学院简化考试程序招聘博士配偶工作笔试考试参考试题及答案解析
- 2025广西贺州市消防救援支队第二次公开招录政府专职消防队员37人考试笔试备考试题及答案解析
- 2025安徽皖信人力资源管理有限公司招聘宿松公司外包人员6人考试笔试备考题库及答案解析
- 2026福建省宁德市福鼎幼儿园招聘笔试考试备考试题及答案解析
- 2025年建平县面向社会公开招聘城市社区工作者21人考试笔试模拟试题及答案解析
- 2025中国平安洛阳社区金融招募社区高级专员20人笔试考试备考试题及答案解析
- 快递业安全生产管理制度
- 2025年江苏省行政执法证考试题库附答案
- 2025年国考税务面试真题及答案
- 用火用电安全培训资料课件
- 城市沟槽开挖安全监测方案
- 基坑外架专项施工方案(单立杆双排脚手架)
- 本科护理系毕业论文
- (贵州)贵阳市、铜仁市2026届高三年级9月摸底考试化学(含答案)
- 外研版(三起)(2024)四年级上册英语 Unit 5 Lets go!单元整体教学设计(共5课时)
- GPS的课件教学课件
- 检验科标本接收与处理操作规程
评论
0/150
提交评论