c语言实验报告

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

第一篇:c语言实验报告

南昌大学实验报告

学生姓名: 学 号: 专业班级:

√ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称

实验3 控制语句

二.实验目的

1.熟练掌握if、if…else、if……elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。

2.熟练掌握while语句、do……while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

三.实验内容

1. 选择结构程序设计; 2. if语句的使用;

3. 使用switch语句实现多分支选择结构; 4. 三种循环语句的应用; 5. 循环结构的嵌套;

6. break和continue语句的使用。

三.实验环境

PC微机

DOS操作系统或 Windows 操作系统 Visual c++程序集成环境

四.实验内容和步骤

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。学会单步调试和断点调试程序及变量跟踪方法。

1. 任意输入4个整数,要求按由小到大的顺序输出。

2.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。

要求:(1)将变量定义为整型。

(2)输入整数前,利用puts()/printf()给出提示信息。

(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。(4)该程序利用if语句实现。

运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。

3.编写程序:根据公式

261111......,输出 π的值。

122232n2要求:

(1)变量π为单精度类型,n为整型;

(2)计算当n的取值分别为20,50,100,200时的π值,说明什么问题?

(3)修改程序,不给出n值,而改为求π值,直到最后一项的数值小于10-4 为止。

(4)对修改后的程序,输出π值以及总的项数n。输出格式为:π=值;n=值。

4.从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12)。

要求:

(1)采用while循环语句实现。

(2)输出格式为:Input:12 Output:1,2,3,4,6,12 5.从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。学生的成绩可分成5个等级,90-100分为A级,80-89分为B级,70-79分为C级,60-69分为D级,0-59分为E级。要求在输入负数时,给出错误提示。

① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。

② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束 6.某航空公司规定:在旅游旺季7~9月份,如果订票20张及其以上,优惠票价的10%,20张以下,优惠5%;在旅游淡季1~6月份,10~12月份,订票20张及其以上,优惠票价的20%,20张以下,优惠10%。编写一个C程序,根据月份和旅客订票张数决定优惠率。已知机票单价,请算出旅客的总付款。请使用不同的测试数据进行测试。7.计算并输出1000以内最大的10个素数以及它们的和。

要求:

(1)在程序内部加必要的注释。

(2)由于偶数不是素数,可以不考虑对偶数的处理。

(3)虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。

(4)输出形式为:素数1+素数2+素数+…+素数10 = 总和值。

五.实验数据及处理结果

/*写出实验内容的算法(用流程图表示)、完整的程序、结果并能对结果的正确性及上机时产生的问题进行分析,注意程序变量命名应见名知意、有适当的注释,程序书写规范*/ 【习题1】

【设计思路】 :输入a,b,c,d四个数,将四个数两两进行比较,如果前者大于后者,则将两数的值交换,否则不变。这样重复操作6次,最后输出a,b,c,d的值,则a,b,c,d从大到小排列。

【数据输入】输入整型变量 a,b,c,d 【数据输出】输出 a,b,c,d的值,使其从大到小排列。【源程序实现】

#include main(){

int a,b,c,d,t;printf(“please input four numbers(example:1 2 3 4):n”);scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}/* 实现a,b的交换 */ if(a>c){t=a;a=c;c=t;}/* 实现a,c的交换 */ if(a>d)

} {t=a;a=d;d=t;}/* 实现a,d的交换 */ if(b>c){t=b;b=c;c=t;}/* 实现b,c的交换 */ if(b>d){t=b;b=d;d=t;}/* 实现b,d的交换 */ if(c>d){t=c;c=d;d=t;}/* 实现c,d的交换 */ printf(“%d,%d,%d,%d”,a,b,c,d);【结果及截图】

答:输入64 3 5 23,运行结果为3,5,23,64,其截图如下:

输入格式的提示。

【修改后程序实现及结果】 /*习题2、4请添加此步*/

【问题分析】 输入数据时,没有按正确格式输入,所以在输入数据之前,应该给出一个【习题2】

【设计思路】

【数据输入】 输入整型变量x。【数据输出】 输出x的范围。【源程序实现】

#include

main()

{

int x;

printf(“Please input a number:n”);

scanf(“%d”,&x);

printf(“%d is ”,x);

if(x<10)printf(“less than 10n”);

else if(x<100)printf(“10 to 99n”);

else if(x<1000)printf(“100 to 999n”);

else printf(“more than 1000n”);

return 0;

}

【结果及截图】

答:运行程序,分别输入9,21,321,4321,截图如下:

【习题3】

【源程序实现】

#include

#include

main()

{

int n,N;

float pi,sum=0;

printf(“Please input a number:nN=”);

scanf(“%d”,&N);

for(n=1;n<=N;n++)

sum+=1.0/(n*n);

pi=sqrt(6*sum);

printf(“pi=%f”,pi);

return 0;} 修改后的程序: #include #include main(){

int n=0;

float pi,sum=0;

do

{

n++;

sum+=1.0/(n*n);

}while(1.0/(n*n)>=1e-4);

pi=sqrt(6*sum);

printf(“pi=%f;n=%d”,pi,n);

return 0;}

【结果i及截图】

答:计算当N的取值分别为20,50,100,200时,截图如下:

【结果ii及截图】

【习题4】

【源程序实现】

#include main(){ int num,i=2;printf(“Input:”);scanf(“%d”,&num);printf(“Output: 1”);/*第一个因式为 1*/ while(i<1000){ if(num%i==0)printf(“,%d”,i);i++;} return 0;}

【结果及截图】

答:输入30,得其因式为 1,2,3,5,6,10,15,30,截图如下:

【习题5】

【源程序实现】

If 语句

#include main(){

int num;

printf(“Input:”);

scanf(“%d”,&num);

if(num<0||num>100)printf(“The number is wrong!”);

else if(num<=59)printf(“E”);

else if(num<=69)printf(“D”);

else if(num<=79)printf(“C”);

else if(num<=89)printf(“B”);

else printf(“A”);

return 0;}

Switch 语句

#include main(){

int num,n;

printf(“Input:”);

scanf(“%d”,&num);

n=num/10;

switch(n)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5: printf(“E”);break;

case 6: printf(“D”);break;

case 7: printf(“C”);break;

case 8: printf(“B”);break;

case 9:

case 10: printf(“A”);break;

default: printf(“error!”);

}

return 0;}

【问题分析】

【习题6】

【源程序实现】

#include main(){ int month,num;float price,cost;printf(“month=”);scanf(“%d”,&month);printf(“nprice=”);scanf(“%f”,&price);printf(“nnum=”);scanf(“%d”,&num);if(month>=7&&month<=9){if(num>=20)cost=price*0.9*num;else cost=price*0.95*num;} if((month>=1&&month<=6)||(month>=11&&month<=12)){if(num>=20)cost=price*0.8*num;else cost=price*0.9*num;} printf(“cost=%f”,cost);}

【习题7】

【源程序实现】

#include #include void main(){ int num,i,sum=0,count=0;for(num=999;count!=10;num-=2){for(i=2;i=sqrt(num)){count++;sum+=num;printf(“%d+”,num);} } printf(“b=%d”,sum);} 【结果及截图】

六.简答题

七、实验总结及体会

第二篇:《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语言实验报告

    计算机软件技术基础实验报告 实验一:线性表的排序与查找 一.实验内容 a) 键盘输入一组无序数据,添加到线性表中; b) 排序线性表并输出排序结果; c) 键盘输入一个数,并插入到排好......

    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程序的方法_学期日期 同组人李江涛指导老师_杨雪松___________成绩___________ -------------------------......