《C语言程序设计》实验教学+可直接执行的源代码.docx

上传人:b****8 文档编号:9786713 上传时间:2023-02-06 格式:DOCX 页数:17 大小:20.64KB
下载 相关 举报
《C语言程序设计》实验教学+可直接执行的源代码.docx_第1页
第1页 / 共17页
《C语言程序设计》实验教学+可直接执行的源代码.docx_第2页
第2页 / 共17页
《C语言程序设计》实验教学+可直接执行的源代码.docx_第3页
第3页 / 共17页
《C语言程序设计》实验教学+可直接执行的源代码.docx_第4页
第4页 / 共17页
《C语言程序设计》实验教学+可直接执行的源代码.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》实验教学+可直接执行的源代码.docx

《《C语言程序设计》实验教学+可直接执行的源代码.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验教学+可直接执行的源代码.docx(17页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》实验教学+可直接执行的源代码.docx

《C语言程序设计》实验教学+可直接执行的源代码

《C语言程序设计》实验教学大纲

 

实验一熟悉C语言上机环境实验

(基本操作实验2学时)

1、目的要求:

(1)熟悉C语言的运行环境,了解和使用VisualC++(简称VC++)集成开发环境。

(2)熟悉VC++环境的基本命令和功能键。

(3)熟悉常用的功能菜单命令。

(4)掌握C语言程序的书写格式和C语言程序的结构。

(5)掌握C语言上机步骤,了解运行一个C程序的方法。

(6)完成实验报告。

2、实验内容(参考实验指导书):

(1)熟悉VC++的实验环境。

(2)完成一个输出“helloworld!

”的程序,熟悉VC++中有关的编辑和编译命令的使用方法。

(3)完成3个数据的输入、求和并输出计算结果的程序。

(4)在屏幕上输出如下图形:

A

BBB

CCCCC

实验二数据类型和表达式实验

(验证性实验2学时)

1、目的要求:

(1)了解C语言中数据类型的意义。

(2)理解常用运算符的意义。

(3)掌握C语言表达式的运行规则。

(4)编写实验报告。

2、实验内容(参考实验指导书):

(1)计算由键盘输入的任何两个双精度数据的平均值。

#include

main()

{

doublea,b;

printf("inputa,b:

");

scanf("%lf%lf",&a,&b);

a=(a+b)/2;

printf("output:

a+b=%lf\n",a);

}

(2)写一个输入7个数据的程序,把输入的数据代入a+b*(c–d)/e*f–g表达式进行运算。

#include

main()

{

inta1,a2,a3,a4,a5,a6,a7,t;

printf("inputa1,a2,a3,a4,a5,a6,a7:

");

scanf("%d%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&a6,&a7);

t=a1+a2*(a3-a4)/a5*a6-a7;

printf("output:

a1+a2*(a3-a4)/a5*a6-a7=%d\n",t);

}

(3)编写一个C语言程序,测试下列各表达式:

i,j

i+1,j+1

i++,j++

++i,++j

i+++++j

#include

main()

{

inti=1,j=8,y=0,x=0;

i=i+1;

j=j+1;

printf("第一轮结果:

\n");

printf("i(i+1)=%d",i);

printf("j(j+1)=%d\n",j);

printf("************************\n");

x=i++;

y=j++;

printf("第二轮结果:

\n");

printf("x(i++)=%d",x);

printf("y=(j++)=%d\n",y);

printf("i=%d",i);

printf("j=%d\n",j);

printf("************************\n");

x=++i;y=++j;

printf("第三轮结果:

\n");

printf("x(++i)=%d",x);

printf("y(++j)=%d\n",y);

printf("i=%d",i);

printf("j=%d\n",j);

printf("************************\n");

printf("第四轮结果:

\n");

x=(i++)+(++j);

printf("x=%d\n",x);

printf("i=%d",i);

printf("j=%d\n",j);

}

(4)输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest=money(1+rate)year–money

#include

#include

main()

{

doublerate,interest;

intmoney,year;

printf("输入本金,利率,存期:

\n");

scanf("%d%lf%d",&money,&rate,&year);

interest=money*pow((1+rate),year)-money;

printf("输出年的利息:

%.2f\n",interest);}]

(5)输入华氏温度,输出对应的摄氏温度。

计算公式如下:

c=5*(f-32)/9

其中,c表示摄氏温度,f表示华氏温度。

#include

main()

{

floatf,c;

printf("输入华氏温度:

");

scanf("%f",&f);

c=5.0*(f-32.0)/9.0;

printf("%f",c);

}

实验三分支结构程序设计实验

(验证性实验2学时)

1、目的要求:

(1)了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句。

(2)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个程序完成输入一个整数,输出它的符号。

#include

main()

{

inta;

printf("输入一个整数:

\n");

scanf("%d",&a);

if(a>0)

printf("%d是正整数!

\n",a);

elseif(a==0)

printf("%d是零!

\n",a);

else

printf("%d是负整数!

\n",a);

}

(2)请编写居民应交水费,并提供各种测试数据。

居民应交水费y(元)与月用水量x(吨)的函数关系式如下:

0x<0

y=f(x)=4x/30≤x≤15

2.5x–10.5x>15

#include

main()

{

floatx,y;

printf("请输入用水量:

\n");

scanf("%f",&x);

if(x<0)y=0;

elseif(x>=0&&x<=15)y=4*x/3;

elsey=2.5*x-10.5;

printf("水费:

%f\n",y);

}

(3)请根据输入的学生成绩给出成绩等级的判断,判断规则如下:

如果输入的成绩大于等于90,则输出优秀;

如果输入的成绩小于90、大于等于80,则输出良好;

如果输入的成绩小于80、大于等于70,则输出中等;

如果输入的成绩小于70、大于等于60,则输出及格;

其他输出不及格。

#include

main()

{

floatx;

printf("请输入学生的成绩:

\n");

scanf("%f",&x);

if(x>=90)printf("该成绩优秀!

\n");

elseif(x>=80&&x<90)printf("该成绩良好!

\n");

elseif(x>=70&&x<80)printf("该成绩中等!

\n");

elseif(x>=60&&x<70)printf("该成绩及格!

\n");

elseprintf("该成绩不及格!

\n");

}

(4)运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:

s=250km没有折扣

250km≤s<500km2%折扣

500km≤s<1000km5%折扣

1000km≤s<2000km8%折扣

2000km≤s<3000km10%折扣

3000km≤s15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:

f=p*w*s*(1–d)

请编程实现:

从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费。

#include

main()

{

doublep,w,s,d,f;

printf("输入基本费用,货物重量,距离:

\n");

scanf("%lf%lf%lf",&p,&w,&s);

if(s<250)d=0;

elseif(s<500)d=0.02;

elseif(s<1000)d=0.05;

elseif(s<2000)d=0.08;

elseif(s<3000)d=0.1;

elsed=0.05;

printf("享受折扣:

%lf\n",d);

f=p*w*s*(1-d);

printf("运输费用:

%lf\n",f);

}

实验四循环结构程序设计实验

(验证性综合性实验4学时)

1、目的要求:

(1)使用循环语句完成累乘、图像输出的程序编写。

(2)掌握较复杂结构程序的编写。

(3)掌握程序调试的方法。

(4)编写实验报告。

2、实验内容(参考实验指导书):

(1)已知xyz+yzz=532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。

#include

main()

{

intx,y,z,w1,w2;

for(x=1;x<10;x++)

for(y=1;y<10;y++)

for(z=0;z<10;z++)

{

w1=100*x+10*y+z;

w2=100*y+10*z+z;

if(w1+w2==532)

printf("x:

%dy:

%dz:

%d\n",x,y,z);

}

}

(2)编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:

4444444

33333

222

1

222

33333

4444444

#include"stdio.h"

voidmain()

{

inti,j,n;

printf("输入(0~9)的数字:

\n");//输入要打印几

scanf("%d",&n);

for(i=n;i>0;i--)

{

for(j=0;j

for(j=0;j<2*i-1;j++)printf("%d",i);

printf("\n");

}

for(i=2;i<=n;i++)

{

for(j=0;j

for(j=0;j<2*i-1;j++)printf("%d",i);

printf("\n");

}

}

(3)学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。

#include"stdio.h"

voidmain()

{

inti,max;

for(i=1;i<1000;i++)

if(i%5==2&&i%7==3&&i%3==1)

max=i;

printf("%d\n",max);

}

(4)学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:

A说:

不是我。

B说:

是C。

C说:

是D。

D说:

他胡说。

已知三个人说的是真话,一个人说的是假话。

请根据这些信息,找出做了好事的人。

#include

voidmain()

{charm;//放代表做好事的人的字符

intsum,flag=0;

for(m='A';m<='D';m++)

{

sum=(m!

='A')+(m=='C')+(m=='D')+(m!

='D');

if(sum==3)

{

printf("Thismanis%c\n",m);

flag=1;//有解标志

}}

if(flag==0)

printf("Can'tfound!

\n");

//输出无解信息

}

实验五数组程序设计实验

(验证性综合性实验4学时)

1、目的要求:

(1)掌握一维和二维数组的使用技巧。

(2)编写实验报告。

2、实验内容(参考实验指导书):

(1)从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。

比如原来数组为:

2-5-89750-89093480,经过处理后的数组为:

-5-89-890007593482。

由于不要求数组有序,所以不允许用排序方法。

提示:

1)输入N个数据,构建数组。

2)按照要求确定数据的位置,需要注意循环条件的确定、0数据元素往中间推的实现过程以及数组处理的方向。

#include

voidmain()

{

inta[10],i,b[10],x=0,j,e,t=0;

printf("inputa\n");

for(i=0;i<10;i++)

{

scanf("%d",&a[i]);

}

for(i=0;i<10;i++)

{

if(a[i]>0)t++;

}

j=10-t;

for(i=0;i<10;i++)

{

if(a[i]<0)

{b[x]=a[i];

x++;

}

if(a[i]>0)

{b[10-t]=a[i];

t--;

}

}

for(e=x;e

b[e]=0;

for(i=0;i<10;i++)

{

printf("%d",b[i]);

}

}

(2)设数组a的定义如下:

inta[20]={2,4,6,8,10,12,14,16};已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。

请编写一个程序实现上述功能。

提示:

1)定义整型数组并初始化。

2)从键盘输入一个数据。

3)将该数据插入到数组中,由于要保证插入的数组仍然有序,所以需要查找插入的位置。

4)输出插入数据以后的数组。

#include

voidmain()

{

inta[9]={2,4,6,8,10,12,14,16};

intm,i,j,k;

printf("thearrayis:

\n");

for(i=0;i<8;i++)

{

printf("");

printf("%d",a[i]);

}

printf("\n");

printf("pleaseinputanumber:

");

scanf("%d",&m);

for(j=0;j<8;j++)/*j的值0~7作为外层循环*/

{

if(a[j]>m)

{

for(k=9;k>j;k--)/*执行比较移位,前面设置数组大小巧妙了*/

a[k]=a[k-1];

a[j]=m;

break;/*当新的数据都小于数组内的数据,跳出整个for循环*/

}

}

if(j==8)a[j]=m;/*数据大于数组中的最大数*/

printf("thenewarrayis:

\n");

for(k=0;k<9;k++)/*输出插入数据后的数组*/

{

printf("");

printf("%d",a[k]);

}

printf("\n");

}

(3)写一个3x5矩阵的转置程序,输出其原矩阵的值和转置以后的结果。

提示:

1)定义一个二维数组及相关变量。

2)对二维数组赋值,可以由键盘输入,也可以通过其他方式赋值。

3)输出转置前的二维数组。

4)对二维数组中的值进行转置。

5)输出转置后的二维数组中的值。

#include

main()

{

inti,j,t,a[3][5];

printf("输入矩阵为:

\n");

for(i=0;i<3;i++)

for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

printf("\n原来的矩阵为:

\n");

for(i=0;i<3;i++)

{for(j=0;j<5;j++)

printf("%5d",a[i][j]);

printf("\n");

}

for(i=0;i<3;i++)

{for(j=0;j<5;j++)

{t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

printf("\n转置后的矩阵为:

\n");

for(i=0;i<5;i++)

{for(j=0;j<3;j++)

printf("%5d",a[i][j]);

printf("\n");

}

}

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

当前位置:首页 > 高等教育 > 文学

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

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