c语言实验报告

时间:2019-05-12 01:00:26下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言实验报告》。

第一篇:c语言实验报告

计算机软件技术基础实验报告

实验一:线性表的排序与查找

一.实验内容

a)键盘输入一组无序数据,添加到线性表中; b)排序线性表并输出排序结果; c)键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;

d)键盘输入一个数,并从线性表中删除相应的数据,输出结果。

二,源程序

// Experiment1.cpp : 定义控制台应用程序的入口点。//

#include “stdafx.h” #include “iostream” #include

// 程序实现有各种方法,这里给出一个实例。

// 定义一个线性表

const int nMaxSize = 15;// 最大值 int nLen = 0;

// 表中元素个数 int nLinearList[nMaxSize];

// 定义操作 void LSort();void LOut();void LInsert(int n);void LDelete(int n);

int main(int argc,TCHAR*argv[]){ // 输入数据并放入线性表中

printf(“Please input datan”);// std::cout << “Please input datan”;int nIn = 0;for(int i = 1;i <= 10;i++){

scanf(“%d”,&nIn);// std::cin >> nIn;

nLinearList[i] = nIn;

nLen++;

}

LSort();// 排序线性表 LOut();// 输出结果

printf(“Please input a data to insert n”);scanf(“%d”,&nIn);LInsert(nIn);// 输入一个数字,并插入到线性表中 LOut();

printf(“Please input a data to delete n”);scanf(“%d”,&nIn);LDelete(nIn);// 输入一个数字,并从线性表中删除

LOut();

char chTmp;printf(“Please input a char to finish this program.”);chTmp = getch();return 0;}

void LSort()

// 冒泡排序,由大到小 { int j,F,k,M;

F=nLen;while(F>0)

{k=F-1;F=0;for(j=1;j<=k;j++){if(nLinearList[j]

M=nLinearList[j];nLinearList[j]=nLinearList[j+1];nLinearList[j+1]=M;F=j;

}}}

}

void LOut(){ printf(“n”);for(int i = 1;i <= nLen;i++){

printf(“%d, ”, nLinearList[i]);} printf(“n”);} void LInsert(int n){ int i,j;i=1;while(i=i;j--)nLinearList[j+1]=nLinearList[j];nLinearList[i]=n;break;} i++;} } void LDelete(int n){ int i,j;for(i=1;i<=nLen;i++){if(nLinearList[i]==n){for(j=i;j<=(nLen-1);j++)nLinearList[j]=nLinearList[j+1];nLen--;break;}}}

运行结果

实验2:栈与队列的应用

一. 实验内容

a)键盘输入算数表达式,并放入队列当中; b)应用栈的概念设计表达式求值算法;

输出表达式求值结果 二.源程序

// Experiment2.cpp : 定义控制台应用程序的入口点。

#include “stdio.h” #include #include #include

// 程序实现有各种方法,这里给出一个实例。

const int MAX_LEN = 10;// 字符串的长度 const int MAX_SIZE = 30;// 栈或队的最大元素个数

// 定义一个队列的结构 struct QUEUE { int nMaxSize;// 最大值

int nCount;// 个数

int nFront;// 头

int nRear;// 尾

char szQueue[MAX_SIZE][MAX_LEN];};

//定义一个栈的结构 struct STACK { int nMaxSize;// 最大值

int nTop;// 栈顶

char szStack[MAX_SIZE][MAX_LEN];};

// 队列的操作

void InitQueue(QUEUE *q,int nMaxSize){ q->nMaxSize=nMaxSize;q->nCount=0;q->nFront=0;q->nRear=0;q->szQueue[MAX_SIZE][MAX_LEN]=0;} void InQueue(QUEUE *q, char *pItem){ if(q->nCount==q->nMaxSize){

printf(“The Queue is full!n”);

return;} strcpy(q->szQueue[q->nRear],pItem);if(q->nRear++==MAX_SIZE)q->nRear=0;q->nCount++;} void OutQueue(QUEUE *q, char *pItem){ if(q->nCount==0){

printf(“The Queue is empty!n”);

return;} strcpy(pItem,q->szQueue[q->nFront]);if(q->nFront++==MAX_SIZE)q->nFront=0;q->nCount--;}

//栈的操作

void InitStack(STACK *s,int nMaxSize){

s->nMaxSize=nMaxSize;

s->nTop=0;

s->szStack[MAX_SIZE][MAX_LEN]=0;} void PushStack(STACK *s, char *pItem){ char *p;if(s->nTopnMaxSize){

p=s->szStack[s->nTop];

strcpy(p,pItem);

s->nTop++;} else { printf(“The stack overflow!n”);return;} } void PopStack(STACK *s, char *pItem){ char *p;if(s->nTop==0){

printf(“stack is empty!n”);

return;} else {

p=s->szStack[--s->nTop];

strcpy(pItem,p);} } void GetTopStack(STACK *s, char *pItem){ char *p;char a[10]={0};if(s->nTop==0){

a[0]=';';

strcpy(pItem,a);} else {

p=s->szStack[s->nTop-1];

strcpy(pItem,p);} }

//字符判断 int isdigit(char x){ if(x>='0'&&x<='9')return 1;return 0;}

int Priority(char *op);// 获得操作符的优先级 void Compute(char *num1, char *num2, char *op, char *chResult);//主函数 void main(){

// 计算表达式的值

char x[MAX_LEN];

// 扫描的表达式

char op[MAX_LEN];

// 栈顶运算符

char num1[MAX_LEN], num2[MAX_LEN];

// 两个操作数

char chResult[MAX_LEN];

// 运算结果 // ***声明一个队列

struct QUEUE q1;

struct QUEUE *q;// ***声明OS栈和NS栈

struct STACK OS;

struct STACK NS;

struct STACK *o;

struct STACK *n;

int i=0;

int j=0;

int k=0;//****初始化

q=&q1;

o=&OS;

n=&NS;

InitStack(o,20);

InitStack(n,20);

InitQueue(q,20);

printf(“please input the expression end with //录入表达式 do

{

printf(”nextn“);

scanf(”%s“,x);

InQueue(q,x);}

while(x[0]!=';');printf(”expression n“);while(true){

if(q->nCount!=0)

{

OutQueue(q, x);

printf(”%s“,x);

}

”;n“);

if(isdigit(x[0]))

PushStack(n,x);

else

{

// 是数

// 认为是运算符,没有考虑空格等

GetTopStack(o,op);// 获得OS栈顶运算符 if(x[0] == ';' && op[0] == ';')

// 扫描结束 {

printf(”n result is “);break;} if(Priority(x)> Priority(op)){ PushStack(o,x);continue;}

// 运算符的优先级〉栈顶运算符

while((Priority(x)<= Priority(op))&&Priority(op))

{

PopStack(n,num1);

PopStack(n,num2);

PopStack(o,op);

Compute(num2,num1,op,chResult);

PushStack(n,chResult);

GetTopStack(o,op);

}

PushStack(o,x);

}

} PopStack(n,chResult);printf(”%sn“,chResult);}

int Priority(char *op){ int nPriority = 0;

switch(op[0]){ case '^':

nPriority = 3;

break;case '*': case '/':

nPriority = 2;

break;case '+':

// 不大于栈顶运算符

case '-':

nPriority = 1;

break;case ';':

nPriority = 0;} return nPriority;} void Compute(char *num1, char *num2, char *op, char *chResult){ double fNum1,fNum2;double fResult = 0;fNum1 = atof(num1);fNum2 = atof(num2);switch(op[0]){ case '^':

fResult = pow(fNum1,fNum2);

break;case '*':

fResult = fNum1*fNum2;

break;case '/':

fResult = fNum1/fNum2;

break;case '+':

fResult = fNum1+fNum2;

break;case '-':

fResult = fNum1-fNum2;

break;}

} sprintf(chResult,”%.4f",fResult);//把计算的结果转化为字符串 return;三.运行结果

实验三:关系数据语言的应用

一、实验内容

查询学生出生日期(Sno, Sname, BirthDay);按学号顺序查询一个班级的所有学生(Class, Sname);列出学生选择各门课程的成绩(Sname, Cname, Grade);列出有过不及格成绩的学生名单(Sno, Sname, Class);求学生的平均成绩和总成绩(Sname, PJCJ, ZCJ);查找各科成绩都 >= 85 分的学生(Sname, Class);将课程号为“01”的课程名称修改为“软件技术”;修改一名学生的姓名、性别、年龄;将成绩为55~59分的男生的成绩修改为60分;删除90年以后、80年以前出生的学生的所有信息(包括选课和成绩);删除一个班级的所有学生;删除所有数据表和数据库。

程序清单及结果: CREATE TABLE Stu(Sno CHAR(4)PRIMARY KEY, Sname CHAR(10), Sex CHAR(2), Age NUMERIC, BirthDay DATETIME, Class CHAR(10),);CREATE TABLE Course(Cno CHAR(2)PRIMARY KEY, Cname CHAR(10), Chour NUMERIC,);CREATE TABLE Score(Sno CHAR(4), Cno CHAR(2), PRIMARY KEY(Sno,Cno), Grade NUMERIC,)Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3626','张小唯','女','18','1995-09-24','电科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3628','王红','女','19','1994-06-27','电科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3634','李雷','男','20','1992-11-30','电科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3635','张明','男','18','1994-06-03','电科1202');Insert into Stu(Sno,Sname,Sex,Age,BirthDay,Class)values('3641','赵小东','男','20','1993-03-15','电科1202');

Insert into Course(Cno,Cname,Chour)values('01','asdf','12');Insert into Course(Cno,Cname,Chour)values('02','qwer','23');Insert into Course(Cno,Cname,Chour)values('03','zxcv','34'

Insert into Score(Sno,Cno,Grade)values('3570','01','97');Insert into Score(Sno,Cno,Grade)values('3580','01','54');Insert into Score(Sno,Cno,Grade)values('3584','01','56');Insert into Score(Sno,Cno,Grade)values('3583','01','88');Insert into Score(Sno,Cno,Grade)values('3574','02','87');Insert into Score(Sno,Cno,Grade)values('3575','03','79');Insert into Score(Sno,Cno,Grade)values('3576','02','68');Insert into Score(Sno,Cno,Grade)values('3577','03','58');Insert into Score(Sno,Cno,Grade)Values('3578','03','98');Insert into Score(Sno,Cno,Grade)values('3626','01','97');Insert into Score(Sno,Cno,Grade)values('3628','01','54');Insert into Score(Sno,Cno,Grade)values('3637','01','56');Insert into Score(Sno,Cno,Grade)values('3640','01','88');Insert into Score(Sno,Cno,Grade)values('3657','02','87');Insert into Score(Sno,Cno,Grade)values('3675','03','79');Insert into Score(Sno,Cno,Grade)values('3676','02','68');Insert into Score(Sno,Cno,Grade)values('3677','03','58');Insert into Score(Sno,Cno,Grade)Values('3678','03','98');

1.查询学生出生日期(Sno, Sname, BirthDay); Select Sno,Sname,BirthDay from Stu;

2.按学号顺序查询一个班级的所有学生(Class, Sname);

Select Class,Sname from Stu order by Sno;

3.列出学生选择各门课程的成绩(Sname, Cname, Grade); Select Sname,Cname,Grade from Stu,Course,Score

where Stu.Sno=Score.Sno and

Course.Cno=Score.Cno;

4.列出有过不及格成绩的学生名单(Sno, Sname, Class);Select distinct Stu.Sno,Sname,Class from Stu,Score where Stu.Sno=Score.Sno and

Grade<60;

5.求学生的平均成绩和总成绩(Sname, PJCJ, ZCJ);

Select Sname,avg(Grade)PJCJ,sum(Grade)ZCJ from Stu,Score where Score.Sno=Stu.Sno group by Stu.Sname;

6.查找各科成绩都 >= 85 分的学生(Sname, Class);

Select Sname,Class from Stu where exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='01' and Score.Grade>=85)and exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='02' and Score.Grade>=85)and exists(Select * from Score where Stu.Sno=Score.Sno and Score.Cno='03' and Score.Grade>=85);

7.将课程号为“01”的课程名称修改为“软件技术” Update Course set Cname='软件技术' where Cno='01';

8.修改一名学生的姓名、性别、年龄;

Update Stu set Sname='aha',Sex='wm',age='10'where Sno='3626';

9.将成绩为55~59分的男生的成绩修改为60分

Update Score set Grade=60 where Sno in(Select Sno from Stu where Sex='女')and Grade between 55 and 59;

10.删除90年以后、80年以前出生的学生的所有信息(包括选课和成绩)Delete Stu where Sno in(select Sno from Stu where BirthDay < '1980-01-01' or BirthDay>'1990-12-31')

11.删除一个班级的所有学生

Delete from Stu where Class='电科1202';

12.删除所有数据表和数据库 Drop database MyDB;

第二篇:《Matlab语言》实验报告

《Matlab语言》实验(报告)题库

1、TDOA信号分析类

(1)已给出一段事先采集的信号,该信号为进行TDOA定位使用的基本信号,其格式为GPS+IQ + GPS+IQ …,即每包数据由GPS头文件和IQ信号构成,GPS头文件共58B,其数据格式为

$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ数据共8192B,其数据格式为I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I数据2048点、Q数据2048点交叉出现。换言之,每包数据实际内容为:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已实现读取IQ数据文件并进行关键信息读取分解,请根据程序提醒,完成相关功能(数据及程序见“1-实际IQ信号实验”文件夹)。

2、TDOA时差估计仿真类

(2)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用广义互相关法(GCC)计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

(3)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用互模糊函数法计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

(4)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,用广义互相关(GCC)结合多项式拟合方法计算该2个信号的时差,并比较广义互相关法估计时差和广义互相关结合多项式拟合方法估计时差的结果,进行分析(需给出详细过程及适当的仿真图)。

(5)在TDOA定位技术中,时差估计是一个非常重要的环节。自行仿真2个具有一定时差的信号,自选方法计算该2个信号的时差,并与设定时差进行对比分析(需给出详细过程及适当的仿真图)。

3、TDOA时差估计实测类

下面三题使用“3-TDOA实测类-数据”。

(6)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,用广义互相关(GCC)计算该2路信号的时差,统计每包数据计算结果,并分析之(需给出详细解决过程及适当的分析图)。

(7)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,用广义互相关(GCC)结合多项式拟合方法计算该2路信号的时差,比较广义互相关法估计时差和广义互相关结合多项式拟合方法估计时差的结果,并分析之(需给出详细解决过程及适当的分析图)。

(8)在TDOA定位技术中,时差估计是一个非常重要的环节。根据提供的TDOA数据,自选方法计算该2路信号的时差,统计每包数据计算结果,并分析之(需给出详细解决过程及适当的分析图)。

4、信号频域分析类

(9)生成一个带有噪声的正弦波信号,信号的频率、幅度,噪声的幅度自行设定。(将带有噪声的正弦信号放入for循环中,利于pause,实现噪声动态变化效果,并在for循环内画出其时域图和幅频图(采样率和采样点数自行设定),观察动态变化情况),最后总结系统采样率和采样点数对仿真信号效果的影响。

(10)自行生成一段时域信号,要求在不同的时间,信号具有不同的频率(即非平稳信号),用短时傅里叶变换对其进行时频分析,并呈现时频分析结果。

(11)自行生成一段时域信号,要求在不同的时间,信号具有不同的频率(即非平稳信号),用小波变换对其进行时频分析,并呈现时频分析结果。

5、信号调制解调类

(12)自行产生正弦信号作为基带信号、载波,试合成AM信号,在AM信号上加高斯白噪声,并将AM信号解调,画出各信号(基带信号、载波、合成的AM信号、解调后的基带信号)时域图及频谱图,并对比总结解调效果。

(13)自行产生正弦信号作为基带信号、载波,试合成FM信号,在FM信号上加高斯白噪声,并将FM信号解调,画出各信号(基带信号、载波、合成的FM信号、解调后的基带信号)时域图及频谱图,并对比总结解调效果。

(14)自行产生一个正弦信号,以此为载波,生成一段2ASK信号,其中数字序列随机生成,画出数字基带序列、正弦信号、2ASK信号的时域图。

(15)自行产生两个不同频率的正弦信号,以此为载波,生成一段2FSK信号,其中数字序列随机生成,画出数字基带序列、两个正弦信号、2FSK信号的时域图。

(16)用Matlab模拟通信系统收发过程,要求:发射站发射FM调制信号,接收站接收该信号,并进行解调,系统参数及传播环境/过程参数自定。

6、信号分离类

(17)自行生成一个含有3个频率(信号频率相近,如200Hz,210Hz,300Hz)的信号,其他参数自定,直接用FFT难以将不同频率信号,尤其频率较近的信号进行分离,试用AR等高阶功率谱方法,将该信号进行分离,并绘制分离前后的频谱图(即信号的FFT图、信号的AR分离图)。

(18)自行生成一个含有不同频率或不同相位的信号,直接用FFT难以将不同频率信号,尤其频率较近或同频率不同相位的信号进行分离,试用MUSIC方法,将该信号进行分离,并绘制分离前后的频谱图(即原信号的FFT图、信号的MUSIC分离图),并总结现象。

(19)自行产生一段含有低频、高频和噪声成分的信号,尝试设计不同的滤波器,将高频信号及噪声滤掉,并绘制滤波前后的信号对比图(含时域、频域图)。

7、深度学习类

(20)设计一个神经网络(可以是任意类型的神经网络),对手写数字进行分类,要求小组内每个成员至少每人手写一个数字,然后识别,并分析识别准确率。

(21)自行找一个预训练好的网络,对日常生活物品进行识别,要求小组内每个成员拍照1~2个物品,通过网络进行识别,并分析识别效果。

第三篇:c语言实验报告

学号:__________ 姓名:__________ 班级:__________ 日期:__________

指导教师:__________ 成绩:__________

实验一 上机操作初步和简单的C程序设计

一、实验目的1、熟悉C语言运行环境Turbo C++3.02、会简单的程序调试

3、熟悉C语言各种类型数据的输入输出函数的使用方法

4、掌握顺序结构程序设计

二、实验内容

1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。(习题1.7)

2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。(习题1.6)

3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。注意:在Trubo C++ 3.0中不能输入汉字,只能输入英文或拼音。(习题4.8)

4、运行如下程序,写出运行结果。第一┆范文网www.xiexiebang.com整理该文章,版权归原作者、原出处所有...#include

void main()

{

int a=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%dn”,a,b);

}

三、实验步骤与过程

四、程序调试记录

第四篇:C语言 实验报告

C语言程序设计(B)

(2010-2011-2)

实验报告

教学班级: 学号: 姓名: 课程教师: 实验辅导教师:

江西理工大学

自由编辑的程序

一、实验前的源程序:

//任意整数的叠加 #include void main(){ int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j)for(i=0;i<=j;i++)sum=sum+i;printf(“此数的叠加=%dn”,sum);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before

`for' [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `)' 构建中止 未命名10: 2 个错误, 0 个警告

实验后的源程序:

//任意整数的叠加 #include void main(){

int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j);for(i=0;i<=j;i++)sum=sum+i;printf(“此数的叠加=%dn”,sum);}

二、实验前的源程序:

/*小写字母转大写字母*/ #include void main(){ char c1,c2;c1='w';

江西理工大学

} c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c);

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名11.cpp:9: `c' undeclared(first

use this function)[Error] D:Program FilesC-Free 4temp未命名11.cpp:9:(Each undeclared

identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: for each function it

appears in.)构建中止 未命名11: 3 个错误, 0 个警告

实验后的源程序:

/*小写字母转大写字母*/ #include void main(){ char c1,c2;c1='w';c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c2);}

三、实验前的源程序:

/*查看某一年是否为闰年*/ #include void main(){ int year,i;scanf(“%d”,&year);if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

i=1;

else

江西理工大学

i=0;

}

else

i=1;

} else

i=0;if(i)

printf(“%d 是闰年n”,year);else

printf(“%d 不是闰年n”,year);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名14.cpp:15: parse error before

`else' [Error] D:Program FilesC-Free 4temp未命名14.cpp:25: parse error at end

of input 构建中止 未命名14: 2 个错误, 0 个警告

实验后的源程序:

/*查看某一年是否为闰年*/ #include void main(){ int year,i;scanf(“%d”,&year);if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

i=1;

else

i=0;

}

else

i=1;

} else

i=0;if(i)

江西理工大学

printf(“%d 是闰年n”,year);else

printf(“%d 不是闰年n”,year);}

数据的输入和输出

四、程序改错题

改错前的源程序;#include void main(){ float x,y,z;scanf(“%5.2f,%5.2f”,&x,&y);z=x+y;printf(“z=%5.2f”,&z);} 修改后的源程序:

#include void main(){ float x,y,z;scanf(“%f%f”,&x,&y);z=x+y;printf(“z=%5.2f”,z);}

改错前的源程序;#include void main(){ int x=7654123;x*=10;printf(“x=%7d”,x);} 修改后的源程序:

江西理工大学

#include void main(){

long x=7654123;x*=10;printf(“x=%7d”,x);}

改错前的源程序:

#include void main(){ float c1=67;char c2;c2=c1+5;printf(“c1=%c,c2=%cn”,c1,c2);printf(“c1=%d,c2=%d”,&c1,&c2);} 修改后的源程序:

#include void main(){ int c1=67;char c2;c2=c1+5;printf(“c1=%c,c2=%cn”,c1,c2);printf(“c1=%d,c2=%d”,c1,c2);}

五、程序编写题:已知char ch’b’;int i=3 ,j=5;float x=22.354,y=435.6789;根据下面的输出结果编写程序。ch =’b’,ASCII=98 i=3□□□□□□j=5 x=22.35□□□y=435.68 实验前的源程序:

#include void main()

江西理工大学{ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d

j=%dn”,i,j);printf(“x=%.2f

y=%.2fn”,x,y);} 实验错误报告:无 实验后的源程序:

#include void main(){ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d

j=%dn”,i,j);printf(“x=%.2f

y=%.2fn”,x,y);}

六、从键盘输入一行字符,统计其中小写字母、大写字母和其它字符的个数:

实验前的源程序:

#include “stdio.h” void main(){ printf(“请任意输入一串字符:n”);

char ch,sum1=0,sum2=0,other=0;

ch=getchar();

while(c!='n')

{

if(c>='A'&&c<='Z')sum1++;

else if(c>='a'&&c<='z')sum2++;

else other++;

c=getchar();

} printf(“大写字母的个数:%dn”,sum1);printf(“小写字母的个数:%dn”,sum2);

江西理工大学printf(“其他字符母个数:%dn”,other);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名7.cpp:7: `c' undeclared(first

use this function)[Error] D:Program FilesC-Free 4temp未命名7.cpp:7:(Each undeclared

identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: for each function it

appears in.)构建中止 未命名7: 3 个错误, 0 个警告

实验后的源程序:

#include “stdio.h” void main(){ printf(“请任意输入一串字符:n”);

char ch,sum1=0,sum2=0,other=0;

ch=getchar();

while(ch!='n')

{

if(ch>='A'&&ch<='Z')sum1++;

else if(ch>='a'&&ch<='z')sum2++;

else other++;

ch=getchar();

} printf(“大写字母的个数:%dn”,sum1);printf(“小写字母的个数:%dn”,sum2);printf(“其他字符母个数:%dn”,other);}

七、使用以下公式求∏的近似值,要求精确到最后一项的绝对值小于10e-4

∏/4=1-1/3+1/5-1/7+……

实验前的源程序:

#include “stdio.h” #include “math.h” main(){

江西理工大学

} float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.o/j);continue;break;} printf(“∏=%fn”,sum*4.0);

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名9.cpp:13: nondigits in number

and not hexadecimal [Error] D:Program FilesC-Free 4temp未命名9.cpp:19: parse error at end

of input 构建中止 未命名9: 2 个错误, 0 个警告

实验后的源程序:

#include “stdio.h” #include “math.h” main(){ float sum=0;int i,j;for(i=1;;i++){

j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.0/j);continue;} break;} printf(“∏=%fn”,sum*4.0);}

八、用选择法对10个整数排序: 实验前的源程序:

江西理工大学#include main(){ printf(“请输入一串乱序的10个整数:n”);int a[10];int i,j,k;for(i=0;i<10;i++){

scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){

if(a[j]>a[j+1])

{

k=a[j];

a[j]=a[j+1];

k=a[j+1];} printf(“这10个整数从小到大排列为:”);for(j=0;j<10;j++){

printf(“%d ”,a[j]);} printf(“n”);printf(“这10个整数从大到小排列为:”);for(j=9;j>=0;j--){

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

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名1.cpp:33: parse error at end of

input 构建中止 未命名1: 1 个错误, 0 个警告

实验后的源程序:

//用选择法对10个整数排序

#include void main(){ printf(“请输入一串乱序的10个整数:n”);int a[10];

江西理工大学 int i,j,k;for(i=0;i<10;i++){ scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]){

k=a[j];

a[j]=a[j+1];

k=a[j+1];} } printf(“这10个整数从小到大排列为:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“这10个整数从大到小排列为:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} }

九、求一个3*3的整数矩阵对角线元素之积:

实验前的源程序:

#include void main(){ int a[3][3];int i,j,ji=1;printf(“请输入一个3*3的矩阵:n”);for(i=0;i<=2;i++)for(j=0;j<=2;j++){

scanf(“%d”,&a[i][j])} for(i=0;i<3;i++)

江西理工大学 {

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

{

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

}

printf(“n”);

}

printf(“n”);

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

{

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

if(i=j)

ji*=a[i][j];

printf(“主对角线的积为:%dn”,ji);

} }

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名4.cpp:11: parse error before

`}' 构建中止 未命名4: 1 个错误, 0 个警告

实验后的源程序:

#include void main(){ int a[3][3];int i,j,ji=1;printf(“请输入一个3*3的矩阵:n”);for(i=0;i<=2;i++)for(j=0;j<=2;j++){

scanf(“%d”,&a[i][j]);} for(i=0;i<3;i++){

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

{

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

}

printf(“n”);

}

江西理工大学

printf(“n”);

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

{

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

if(i=j)

ji*=a[i][j];

printf(“主对角线的积为:%dn”,ji);

} }

十、将一个数组中的值按你需从新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

实验前的源程序:

#include void main(){ int a[10],i,j,t;printf(“请问你要输个几个数字: ”);scanf(“%d”,&j);printf(“请输入大小顺序的%d个数字: ”,j);for(i=0;i

scanf(“%d”,&a[i]);}

for(i=0;i

t=a[i];

a[i]=a[j-i-1];

t=a[j-i-1];} printf(“该数组逆序排列为:”);

for(i=0;i

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

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名3.cpp:25: parse error at end

of input 构建中止 未命名3: 1 个错误, 0 个警告

江西理工大学实验后的源程序:

#include void main(){ int a[10],i,j,t;printf(“请问你要输个几个数字: ”);scanf(“%d”,&j);printf(“请输入大小顺序的%d个数字: ”,j);for(i=0;i

scanf(“%d”,&a[i]);}

for(i=0;i

t=a[i];

a[i]=a[j-i-1];

a[j-i-1]=t;} printf(“该数组逆序排列为:”);

for(i=0;i

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

江西理工大学

第五篇:C语言实验报告

C语言程序设计(B)

(2010-2011-2)

实验报告

教学班级:

学号:

姓名:

课程教师:王华金

实验辅导教师:王华金

江西理工大学P123--

五、1、编写函数,找出5*5数组对角线上元素的最小值,并在主函数中调用它。要求元素的值通过键盘输入。

实验前的源程序:

#include int func(int p[5][5]){ int i,j,min;min=p[0][0];for(i=0;i<5;i++)

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

if(i==j)

if(p[i][j]

return min;} void main(){ int i,j,m,a[5][5];printf(“请输入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主对角线上元素的最小值为:%dn”,m);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:13: error: `main' must return `int' [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:27:2: warning: no newline at end of file

构建中止 未命名4: 1 个错误, 1 个警告

江西理工大学

实验后的源程序:

#include int func(int p[5][5]){ int i,j,min;min=p[0][0];for(i=0;i<5;i++)

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

if(i==j)

if(p[i][j]

return min;} main(){ int i,j,m,a[5][5];printf(“请输入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主对角线上元素的最小值为:%dn”,m);}

P123--

五、3、编写从整形数组中检索给定数值的函数,若找到则输出该数值在数组中的位置。

实验前的源程序:

#include “stdio.h” int Find(int array[],int Array size,int num){ int i;for(i=0;i

江西理工大学int main(){ int a[]={1,2,3,4,5};num=4,n=5,index;index=find(a,5,num);if(index)printf(“%d在数组中第%d位置”,num,index);else printf(“数组中没有这个数!”);}

实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:2: error: expected `,' or `...' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: `size' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `)' before ';' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before ')' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `index' was not declared in this scope

江西理工大学[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:19:2: warning: no newline at end of file 实验后的源程序:

#include “stdio.h” int Find(int Array[], int Array_size, int num){ int i;for(i=0;i

P123--

五、6、输入10名学生5门课的成绩,分别用函数求:(1)每门课的平均分。(2)找出最高的分数所对应的学生和成绩。

实验前的源程序:

#include void input(float a[10][5])//输入学生成绩 { int i,j;

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

{

printf(“输入第%d个学生五门课的成绩:”,i+1);

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

scanf(“%f”,&a[i][j]);

} } void aver_cour(float a[10][5])//课程的平均分

江西理工大学 {

int i,j;

float sum;

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

{

sum=0;

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

sum+=a[j][i];

printf(“第%d门课的平均成绩为:%6.2fn”,i+1,sum/10);

} } void highest(float a[10][5])//查找最高分

{

int i,j,flag1,flag2;float max=0;

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

{

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

{

if(max

{

max=a[i][j];

flag1=i;

flag2=j;

}

}

}

printf(“最高分对应的是学生:%d课程:%dn”,flag1+1,flag2+1);} void main(){

float a[10][5];

input(a);

aver cour(a);

highest(a);

}

实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:35: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: `aver' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: expected `;' before “cour”

江西理工大学[Warning] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:40:4: warning: no newline at end of file

构建中止 未命名6: 3 个错误, 1 个警告 实验后的源程序:

#include void input(float a[10][5])//输入学生成绩 { int i,j;

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

{

printf(“输入第%d个学生五门课的成绩:”,i+1);

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

scanf(“%f”,&a[i][j]);

} } void aver_cour(float a[10][5])//课程的平均分

{

int i,j;

float sum;

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

{

sum=0;

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

sum+=a[j][i];

printf(“第%d门课的平均成绩为:%6.2fn”,i+1,sum/10);

} } void highest(float a[10][5])//查找最高分

{

int i,j,flag1,flag2;float max=0;

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

{

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

{

if(max

{

max=a[i][j];

flag1=i;

flag2=j;

}

}

}

printf(“最高分对应的是学生:%d课程:%dn”,flag1+1,flag2+1);} main()

江西理工大学

{

float a[10][5];

input(a);

aver_cour(a);

highest(a);} P173-

五、2、对具有10个元素的char类型的数组,从下标为6的元素开始全部设置'#'号,保持前6个元素中的内容不变。

实验前的源程序:

#include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'};for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”);

for(pi=(a+6);pi<(a+10);pi++)

*pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: `pi' undeclared(first use this function)[Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8:(Each undeclared identifier is reported only once [Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: for each function it appears in.)

构建中止 未命名1: 3 个错误, 0 个警告

江西理工大学

实验后的源程序:

#include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'}, *pi;for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”);

for(pi=(a+6);pi<(a+10);pi++)

*pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);}

P173-

五、5、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,并输出对换后的10个数。

实验前的源程序:

#include void Deal(int *p){ int i,m;

int max,min;

max=min=0;for(i=0;i<10;i++){

if(*(p+i)>*(p+max))max=i;

if(*(p+i)<*(p+min))min=i;} m=p[0];p[0]=p[max];p[max]=m;m=p[9];p[9]=p[min];p[min]=m;} void Show(int *p){ int i=0;printf(“交换后结果如下:n”);while(i<10)

printf(“%d ”,*(p+i++));printf(“n”);}

江西理工大学void main(){ int data[10];int i=0;printf(“请输入十个数:n”);while(i<10)

scanf(“%d”,data+i++)Deal(data);Show(data);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:24: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:30: error: expected `;' before “Deal” [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:32:2: warning: no newline at end of file

构建中止 未命名7: 2 个错误, 1 个警告

实验后的源程序:

#include void Deal(int*p){ int i,m;int max,min;max=min=0;for(i=0;i<10;i++){ if(*(p+i)>*(p+max))max=i;if(*(p+i)<*(p+min))min=i;} m=p[0];p[0]=p[min];p[min]=m;m=p[9];p[9]=p[max];p[max]=m;

江西理工大学} void Show(int*p){ int i=0;printf(“交换后结果如下:n”);while(i<10)printf(“%d”,*(p+i++));printf(“n”);} void main(){ int data[10];int i=0;printf(“请输入十个数:n”);while(i<10)scanf(“%d”,data+i++);Deal(data);Show(data);}

P173-

五、7、编写小学生做加、减、乘、除四则运算的程序。例如在操作系统下,键入cal 15*15< 回车>,则在屏幕上显示15*15=225.实验前的源程序:

实验错误报告:

实验后的源程序:

#include main(){

int i,j,k;char *f[2];int b[2];scanf(“%s”,&f[1]);scanf(“%d”,&b[1]);

江西理工大学

江西理工大学12

} scanf(“%s”,&f[2]);scanf(“%d”,&b[2]);i=b[1];j=b[2];k=i*j;printf(“%d*%d=%d”,i,j,k);

下载c语言实验报告word格式文档
下载c语言实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言实验报告

    实验一 熟悉C语言程序的运行环境 一、实验目的 1、了解在该系统上如何编辑、编译、连接和运行一个C 程序; 2、通过运行简单的C程序,初步了解C程序的特点。 二、实验预习1、......

    c语言实验报告

    南昌大学实验报告 学生姓名: 学 号: 专业班级: √ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称 实验3 控制语句 二.实验目的 1.熟练掌握if 、if…el......

    C语言实验报告

    郑州轻工业学院 实 践 报 告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信......

    C语言实验报告

    实验一 C程序的运行环境和方法 一、实验目的 1.了解所用的计算机系统。 2.了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序了解C程序的特点。 二......

    C语言实验报告

    C语言程序设计(B) (2010-2011-2) 实验报告2 教学班级: 学号: 姓名:课程教师: 实验辅导教师: 一、做一个“杨辉三角” 实验前的源程序: /*杨辉三角*/ #include void fun(int Y[][]......

    C语言实验报告

    C语言程序设计实验 --------指针应用实验 ========================山东农业大学实验报告 课程名称: c语言程序设计实验 学院: 水利土木工程学院 专业: 道路桥梁与渡河工程......

    C语言实验报告

    C语言第一学期实验: 第1次实验: 时间 2010-9-15 项目名称:创建第一个C语言程序 仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序: 1、 单击“开始”“程序”......

    C语言实验报告

    《C语言程序设计》实验报告实验名称 ____ C程序的运行环境和运行C程序的方法_学期日期 同组人李江涛指导老师_杨雪松___________成绩___________ -------------------------......