c语言编程例题及答案.docx
- 文档编号:15020601
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:15
- 大小:143.42KB
c语言编程例题及答案.docx
《c语言编程例题及答案.docx》由会员分享,可在线阅读,更多相关《c语言编程例题及答案.docx(15页珍藏版)》请在冰点文库上搜索。
c语言编程例题及答案
实验报告
(四学时)
课程
C语言程序设计
实验项目
函数程序设计
成绩
专业班级
学号
批阅日期
姓名
实验日期
:
指导教师
2.1实验目的
(1)掌握函数的定义和调用;
(2)了解函数间的参数传送;
2.2基础实验
【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。
算法分析:
1、输入:
通过键盘接收一个字符;
2、条件判断:
调用判别函数
3、函数功能为:
蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”
4、程序结束。
【实验3-1】代码及运行结果:
■JV-■3存
ffinclude
charletterCa):
lntnain()
请输入字母W); scanFf'^'fBb); > charletterCchara) < priritFC,^c\n'\a-32: ; elseif(a>='fi'&&a<='£B)printFC"^c\n",a); else prlntFCk请输入字母: W): "C: \c 请输人字母: A ft Pressanv畑ytocentinue 9\ i耳输入于母二 a A Presseuiykejitocontinue "C: 请输入予母; 请输入字母- PressanyNey1tocontinue 【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求: 实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入: 通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 floatavefintn} < scarf(*%r,&gra血);〃接受檬盘输入求和5=$+grade; > average=s/n;//Sty均flft > 【实验3-2】代码及运行结果: |ljiuu^iiiicinucrt_2j|vavc El ttinclt>.h> dnubl*4u^(inrn);mint> lett.c inrx; ^inrtr请输入学生个数: xn-); scaaf("%r'.U); dive(x); doubleaup(irtn) irati; doubles-Ofqrade^veraqe;for(i-1 printF<"q*输人学生成^: \H*); 5caitFfl%lfffl,3tkgrade); 5-s+grade; au>erage=s/n; Printf(■■宇生的期齐成绩半均分为=\nV\n*l,auerage); 【题目3-3】请用函数编写程序实现: 计算3到100之间所有素数的平方根之和, 并输出。 s=148.874270。 算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include intPrime(intx) { inti; if(x<=1) return0; for(i=2;i<=x-1;i++) { if(x%i==0) { return0; } } return1; } intmain() { doublei,sum; i=3; sum=0; while(i<=100) { if(Prime(i)) { sum=sum+sqrt(i); } else { sum=sum+0; } i++; } printf("sum=%f\n",sum);return0; }。 return1; intmain() < doublei.sun; 1=3; sum=0; while(i<=1US) < if(Prine(l)) { sum=sun+s(|rt(i); 【实验3-4】要求: 请编写一个函数fun,它的功能是: 根据以下公式求n的值(要求满足精度0.0005, 某项小于0.0005时停止迭代): 3T-11x21x2x3lx2x3x4lx2xx« —=1+—4+'r十-…--+ 23|5x55x73x5x7x95x5x-x(2w+l) 输出参考结果如下: "C: \Users\JYL\Debug\圆周率计算”exe1 请輸八计算精度;0.QOO5 在0.0OG50Q精展下计算的圆周宅为3.140578Pressanytocontinue^ 算法分析: 1.编写函数fun进行通项公式求解 2.在主函数中对fun函数进行调用,采用循环调用的方式得到每一项的运算结果 3.判断通项公式的计算结果是否在精度范围要求内,从而确定循环是否继续执行 4.输出通项公式运算加和 【实验3-4】代码及运行结果: Z) tinclude return导pi; 2.3延伸训练 【实验3-5】编写函数fun,其功能是: 根据以下公式求P的值,结果由函数值带回。 m与n为两个正整数 tlinclud«<5t(lio_h>Ainclude AdefineEPS1e-6 doublefun(doublek) < doublei,f=1: for(1=1;i<=x: i++) F*=i; } returnf: 'B: \IMicrosoftVisual£tudio\C 请输入m和n的值: 12 3 输入数扌居潜误! 请重新输入用和“; 12 U t*esuit-495.00U000 Pressanykeytocontziniue intnair)() doublentn.a.a^result; 叶iMFL请输入嘶Un的值;\nH); scanf("UrtlF" for(;fabs(n) 'P^intFC-m入数JE错罠请重新输入酥口血W);scanf("Umf",&■,&n); } c=m-n; result=fun(m)/(fun(n)*Fun(c));printfC'result^lfXn",result): return0; 【实验3-6】编写一个函数,通过计算机随机产生一道四则运算题(两个操作数为在1-10之间的整数,操 作类型为加、减、乘、除中的任意一种),并要求作答。 若输入答案正确,则显示"Right! ”,否则显示"Notcorrect! ”。 然后,在main函数中调用该函数,完成若干道题目测试,并显示回答正确的题目数量。 提示: 关于生成随机数 iinclude #include #include intmain() b( j_nti,number; srandl(unsigned1time(HULT.;; number=r^nd()%'01; piin廿number); 程序运行实例: 【实验3-6】代码及运行结果: #include #include #include #include intcalculate(ints); intmain() { ints; printf(”请输入需要完成的题目数量: "); scanf("%d",&s); printf("\n"); printf("回答正确%(道题目\n",calculate(s));return0; } intcalculate(ints) { inta=0; intb=0; intmode=0; doublec=0; doubleresult=0; intcount=0; inti; srand((unsigned)time(NULL)); for(i=1;i<=s;i++) { a=rand()%10+1; b=rand()%10+1; mode=rand()%4; printf("%d",a); switch(mode) { case0: printf("+");result=a+b;break; case1: printf("-");result=a-b;break; case2: printf("*");result=a*b;break; case3: printf("/");result=1.0*a/b;break; default: printf("somethingiswrong! \n");break; }printf("%d=\n",b); printf("请输入计算结果: \n");scanf("%lf",&c); if(fabs(c-result)<1e-6) {count++;printf("Right\n\n"); } else {printf("Wrong\n正确答案是: %f\n\n",result); } }returncount; *D: \SHCUJl7HUSH 请输人需旻完预的题目範董; 3 7/7= 请输入计算结里: 1 Rijkt 19A 请输入计尊结果; 5 R丄ght S»*h= 请输入计算结果: 25 Ih'ong 止确答案杲=30.000000 回答正确2進題目: PressanyIkeytorontirme lett.c ninciuaecstuilo.n? ninciuae^staio.n>ttlnclude { ints; ”伽FL请输人需要完戒的题目数量MF SCAflf; printFC^Vn"); printF("[c]锌定确td道题目: \n",calciilats(s));return0; } intc«lcuLate(ints) < I11Ldfc0; intt>=0; int doublec-fl; doubleresult=6; intcount=0; inti; srand((unsigned)tine(NULL)): for(i=1;i<=s: 1*+) 3实验总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 例题 答案