c语言编程例题及答案.docx

上传人:b****3 文档编号:27342145 上传时间:2023-06-29 格式:DOCX 页数:15 大小:143.42KB
下载 相关 举报
c语言编程例题及答案.docx_第1页
第1页 / 共15页
c语言编程例题及答案.docx_第2页
第2页 / 共15页
c语言编程例题及答案.docx_第3页
第3页 / 共15页
c语言编程例题及答案.docx_第4页
第4页 / 共15页
c语言编程例题及答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言编程例题及答案.docx

《c语言编程例题及答案.docx》由会员分享,可在线阅读,更多相关《c语言编程例题及答案.docx(15页珍藏版)》请在冰豆网上搜索。

c语言编程例题及答案.docx

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)

tincludedoubleAin(dnAlaops>;irtna±n()

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-1鬧丄ri「「扛'■.

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>ttlncludettincludeintcalculate(int5);intndin()

{

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模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1