c语言实验 总结Word文件下载.docx

上传人:b****4 文档编号:18391871 上传时间:2022-12-16 格式:DOCX 页数:28 大小:55.64KB
下载 相关 举报
c语言实验 总结Word文件下载.docx_第1页
第1页 / 共28页
c语言实验 总结Word文件下载.docx_第2页
第2页 / 共28页
c语言实验 总结Word文件下载.docx_第3页
第3页 / 共28页
c语言实验 总结Word文件下载.docx_第4页
第4页 / 共28页
c语言实验 总结Word文件下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

c语言实验 总结Word文件下载.docx

《c语言实验 总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言实验 总结Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。

c语言实验 总结Word文件下载.docx

r);

area=PI*r*r;

lergth=2*PI*r;

area=%f\n"

area);

lergth=%f\n"

lergth);

*\n"

**\n"

***\n"

****\n"

*****\n"

printf("

+++++++++++++++++++++++++++++\n"

+欢迎使用卡卡名片夹\n"

+[1]显示全部名片\n"

+[2]新建名片\n"

+[3]修改名片\n"

+[4]删除名片\n"

+[5]退出\n"

++++++++++++++++++++++++++++\n"

实验3顺序结构设计

1.输入两个整型数字,输出他们的和。

inta,b,sum;

请输入a的值="

scanf("

%d"

a);

请输入b的值="

b);

sum=a+b;

sum=%d\n"

sum);

2.输入两个实型数,输出他们的和与乘积。

floata,b,sum,p;

p=a*b;

sum=%f\n"

s);

p=%f\n"

x);

3.输入一个三位数,计算个位、十位、百位之和。

inta,b,c,sum;

请输入一个三位数\n"

%1d%1d%1d"

a,&

b,&

c);

sum=a+b+c;

 

4.求方程

的根(设

)(其中a,b,c的值由键盘输入)。

请同学们根据N-S图编程,已知N-S图如下:

输入a、b、c

dt=sqrt(

x1=(-b+dt)/2a

x2=(-b-dt)/2a

输出x1,x2

此题调用了求平方根函数sqrt,要在头文件里包含。

请同学们将main函数里的函数体补充并上机运行。

math.h>

floata,b,c,x1,x2,dt;

请输入a的值;

a="

scanf("

请输入b的值;

b="

请输入c的值;

c="

dt=sqrt(b*b-4*a*c);

x1=(-b+dt)/(2*a);

x2=(-b-dt)/(2*a);

方程的解x1=%f\n"

x1);

方程的解x2=%f\n"

x2);

5.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?

(h和f的值由键盘输入,输出鸡和兔的头数)

分析:

设鸡x只,兔y只

则x+y=h解得:

x=2h-f/2

2x+4y=fy=f/2-h

注意,输入的头数和脚数要符合客观规律,比如输入h为8,f为22。

inth,f,x,y;

请输入鸡兔总头数\n"

h);

请输入鸡兔总脚数\n"

f);

x=2*h-f/2;

y=f/2-h;

鸡的数量x=%d\n"

兔的数量y=%d\n"

y);

读程序:

1.编写程序,输入两个整数给变量a和b,输入的大数放在a中,输入的小数放在b中,求出他们的商数和余数并进行输出。

题目已指定数据是按照先大后小次序输入,这样可以保证下面程序中变量a存放大数,变量b存放小数,可用除法运算符“/”对整数运算的特点求商,用取余运算符“%”求余数。

#include"

stdio.h"

inta,b,c,d;

inputtwointegers:

\n"

%d%d"

c=a/b;

d=a%b;

%d,%d"

c,d);

程序解释:

第一个printf语句:

\n为回车换行符,表示输入这行话以后光标另起一行。

scanf语句:

输入a和b的值,注意输入的格式要和scanf语句里的格式相同,这里中间有一个空格,即我们输入a以后要按一下空格,再输入b;

如果scanf语句是这样写scanf("

%d,%d"

b);

那么我们输入a的值以后还要输入一个逗号,然后再输入b的值,然后按回车表示输入结束。

2.已知三条边a、b、c,求三角形面积。

计算三角形面积的海伦公式:

,其中

floata,b,c,s,area;

%f,%f,%f"

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

/*调用求平方根函数sqrt*/

area=%f"

实验4选择、循环结构设计

1.编程实现下列函数

x(x<

1)

y=2x-1(

|3x-11|(

提示:

绝对值函数为abs(),包含在math.h中。

floatx,y;

x="

x);

if(x<

10)

if(x<

1)y=x;

elsey=2*x-1;

else

y=abs(3*x-11);

y=%f\n"

2.编写程序,输入一百分制成绩,对应输出等级A、B、C、D、E,90分以上为A,80分—89分为B,70分—79分为C,60分—69分为D,60分以下为E。

用switch语句

{

ints,c;

请输入一个百分制分数s="

s);

if(s>

90&

&

s<

=100)c=9;

elsec=s/10;

switch(c)

{

case0:

E\n"

break;

case1:

case2:

case3:

case4:

case5:

case6:

D\n"

case7:

C\n"

case8:

B\n"

case9:

A\n"

default:

输入的不是百分制分数\n"

}

用if语句

intx;

请输入一个百分制分数x="

if(x>

=90&

x<

=100)printf("

elseif(x>

=80&

=89)printf("

=70&

=79)printf("

=60&

=69)printf("

elseif(x<

60)printf("

elseprintf("

输入的不是百分制分数"

3.编写程序,计算以下级数前n项之和。

(书后习题第7题)

main()

floatx,sum=1,s=1;

intn,i;

enterx,n:

"

%f%d"

&

x,&

n);

for(i=1;

i<

=n;

i++)

s=s*x/i;

sum=sum+s;

\nsum=%f\n"

sum);

4.编程打印如下图案(书后习题第3题):

**

****

******

********

**********

************

**************

#include<

inti=1,j=1,k=1;

for(i=1;

=7;

i++){for(j=1;

j<

=14-2*i;

j++)

printf("

"

for(k=1;

k<

=2*i;

k++)

*"

说明:

打印这个图形用两层循环控制。

外循环控制输出行数;

两个并列的内循环控制输出每行的空格数和*号数字,空格数为14-2i,*数为2i。

5.输出Fibonacci数列第n项。

其数列通项公式为Fn=Fn-1+Fn-2,F1=1,F2=1。

#include<

longf1=1,f2=1,n,m;

inti;

项数n="

if(n>

=3)

for(i=3;

{

m=f1+f2;

f1=f2;

f2=m;

elsem=1;

第%d项为%ld\n"

n,m);

1.输入三个数a、b、c,要求按由小到大的顺序输出。

floata,b,c,t;

scanf(“%f,%f,%f”,&

if(a>

b)

{t=a;

a=b;

b=t;

c)

a=c;

c=t;

if(b>

{t=b;

b=c;

printf(“%f,%f,%f”,a,b,c);

2.计算n的阶乘。

3.

inti=1,s=1,n;

scanf(“%d”,&

s=i*s;

printf(“%d!

=%d”,n,s);

3.编程输出如下图形:

***

*****

用循环变量i控制输出5行,i从1变化到5,即for(i=1;

=5;

i++);

内层循环控制回车换行。

inti=1,j=1;

for(j=1;

=i;

putchar(‘*’);

putchar(‘\n’);

4.编写程序以输出下图:

#include<

inti,j,k;

for(i=0;

3;

i++)/*第一个双循环输出上面3行*号*/

for(j=0;

2-i;

j++)

/*输出*号前面的空格*/

for(k=0;

k++)

/*输出*号*/

/*输出完一行*号后换行*/

}

for(i=0;

2;

i++)/*第二个循环嵌套输出下面2行*号*/

for(j=0;

3-2*i;

5.求Fibonacci数列前40个数。

这个数列有如下特点,第1、2两个数为1,1。

从第三个数开始,该数是其前面两个数之和。

F1=1(n=1)

F2=1(n=1)

Fn=Fn-1+Fn-2(

这是由一个古典数学问题引出的,这个问题是这样,有一对兔子,从出生第3个月起每个月都生一对兔子。

小兔子长到第三个月又生一对兔子。

假设所有兔子不死,问每个月的兔子总是多少。

这个问题就是Fibonacci数列问题。

编程求解:

longf1=1,f2=1;

/*定义长整型变量f1,f2,以免数据溢出*/

inti;

=20;

%10ld,%10ld\n"

f1,f2);

/*10ld表示输出数据为长整型,10个字符位置*/

f1=f1+f2;

f2=f1+f2;

实验5数组和字符串

1.编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c。

inta[3]={1,2,3};

intb[3]={5,6,7};

intc[3];

c[0]=a[0]+b[0];

c[1]=a[1]+b[1];

c[2]=a[2]+b[2];

该数组为%d%d%d\n"

c[0],c[1],c[2]);

2.输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)。

voidmain()

inta[10];

inti,j,t;

input10number:

10;

a[i]);

9;

for(i=0;

9-j;

if(a[i]>

a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("

thesortednumber:

for(i=0;

printf("

a[i]);

4.输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标。

inti,index,max,a[10];

=9;

a[%d]="

i);

scanf("

max=a[0];

i++)

if(max<

a[i])

max=a[i];

index=i;

max=%d,index=%d"

max,index);

5.对3行4列的二维数组赋任意值,求出此二维数组每行上的最大值,输出其行号及最大值。

inta[3][4],i,j,max;

请输入一个三行四列的数组:

for(j=0;

4;

a[%d][%d]="

i,j);

a[i][j]);

max=a[0][0];

if(a[i][j]>

max)

max=a[i][j];

行号%d的最大值为%d\n"

i,max);

6.输入任意字符串,统计其中数字的个数。

string.h>

charstr[128];

gets(str);

intnCount=0;

intnLength=strlen(str);

for(inti=0;

i<

nLength;

i++)

if(str[i]>

='

0'

&

str[i]<

9'

{

nCount++;

}

\nThecountofnumberis%d\n"

nCount);

4.利用循环对数组进行赋值和输出:

将任意4个实型数赋给数组a,然后输出数组a。

floata[4];

printf(“Pleaseinput4floatnumber:

”);

scanf(“%f”,&

/*第一个for循环是对数组赋值,i控制数组元素个数*/

printf(“%f”,a[i]);

/*第二个for循环,依次输出每个数组元素*/

如果在对数组元素进行赋值的时候,想在输入每个数之前显示对应的数组名称,第一个for循环可改成如下形式:

printf(“a[%d]=”,i);

输出时要显示数组名称可将第二个for循环中的printf函数改为

printf(“a[%d]=%f”,i,a[i]);

5.利用双循环对二维数组进行赋值和输出:

将数据3,0,-2,11,-5,10赋给一个2行3列的二维数组,输出这个二维数组。

inti,j,a[2][3]={{3,0,-2},{11,-5,10}};

i++)/*外层循环控制行数*/

j++)/*内循环控制列数*/

printf(“a[%d][%d]=%d”,i,j,a[i][j]);

3.将下列矩阵中的第一行和第4行对调。

inta[4][4]={1,2,3,4,15,26,37,48,11,21,31,41,4,3,2,1};

inti,j,c;

j++)/*for循环交换第一行和第4行的数据*/

c=a[0][j];

a[0][j]=a[3][j];

a[3][j]=c;

i++)/*for循环输出新的数组元素*/

/*按行输出,每输出一行就回车换行*/

%d"

a[i][j]);

实验6函数

1.编写函数,求表达式

的值,x由主函数输入。

(请同学们用有返回值和无返回值两种方式去做,练习简单的函定义、声明、及调用方法)

floatfun(floatx)

returnx*x-5*x+4;

floatx;

Pleaseinputx:

x*x-5x+4=%f\n"

fun(x));

2.编写函数,按如下递归公式求函数值。

1(n=0)

fun(n)=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

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

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