第一篇:C语言实验报告
C语言程序设计(B)
(2010-2011-2)
实验报告2
教学班级:
学号:
姓名:
课程教师:
实验辅导教师:
一、做一个“杨辉三角” 实验前的源程序:
/*杨辉三角*/ #include
Y[i][0]=1;
Y[i][i]=1;} for(i=2;i<12;i++){
for(j=1;j
{
Y[i][j]=Y[i-1][j-1]+Y[i-1][j];
}
} } main(){ int i,j,k;int Y[12][12];fun(Y);for(i=0;i<12;i++){
for(k=1;k<=11-i;k++)
printf(“
”);
for(j=0;j<=i;j++)
{
printf(“%6d”,Y[i][j]);
}
printf(“n”);} } 实验错误报告:
--------------------配置: mingw2.95-CUI Debug, 编译器类型: MinGW(Old)--------------------
检查文件依赖性...正在编译 D:Program FilesC-Free Standardsamples杨辉三角.cpp...[Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:4: declaration of `Y' as
multidimensional array [Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:4: must have bounds for all
dimensions except the first [Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:8: `Y' undeclared(first use this
function)[Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:8:(Each undeclared identifier is
reported only once [Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:8: for each function it appears
in.)[Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:4: too many arguments to
function `void fun()' [Error] D:Program FilesC-Free Standardsamples杨辉三角.cpp:23: at this point in file
构建中止 杨辉三角: 7 个错误, 0 个警告
实验后的源程序:
/*杨辉三角*/ #include
Y[i][0]=1;
Y[i][i]=1;} for(i=2;i<12;i++){
for(j=1;j
{
Y[i][j]=Y[i-1][j-1]+Y[i-1][j];
}
} } main(){ int i,j,k;int Y[12][12];fun(Y);for(i=0;i<12;i++){
for(k=1;k<=11-i;k++)
printf(“
”);
for(j=0;j<=i;j++)
{
} } printf(“%6d”,Y[i][j]);} printf(“n”);
二、用函数的方法 3*3矩阵置换
实验前的源程序:
/*用函数的方法 3*3矩阵置换*/ #include “stdio.h” main(){ void zhihuan();zhihuan();} void zhihuan(){
int a[3][3],b[3][3];int i,j;printf(“请输入一个3*3的矩阵:”);printf(“n”);for(i=0;i<3;i++){ for(j=0;j<3;j++)scanf(“%d”,&a[i][j]);} printf(“您所输入的矩阵是:n”);for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,a[i][j]);
b[j][i]=a[i][j];
}
printf(“n”);} printf(“n转置后的矩阵排列为:n”);for(i=0 i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,b[i][j]);
}
} } printf(“n”);实验错误报告:
[Error] D:Program FilesC-Free Standardtemp未命名3.cpp:30: parse error before `<' [Error] D:Program FilesC-Free Standardtemp未命名3.cpp:30: parse error before `)' [Error] D:Program FilesC-Free Standardtemp未命名3.cpp:32: parse error before `;' [Error] D:Program FilesC-Free Standardtemp未命名3.cpp:38: parse error before `}' 构建中止 未命名3: 4 个错误, 0 个警告
实验后的源程序:
/*用函数的方法 3*3矩阵置换*/ #include “stdio.h” main(){ void zhihuan();zhihuan();} void zhihuan(){
int a[3][3],b[3][3];int i,j;printf(“请输入一个3*3的矩阵:”);printf(“n”);for(i=0;i<3;i++){ for(j=0;j<3;j++)scanf(“%d”,&a[i][j]);} printf(“您所输入的矩阵是:n”);for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,a[i][j]);
b[j][i]=a[i][j];
}
printf(“n”);} printf(“n转置后的矩阵排列为:n”);for(i=0;i<3;i++){
for(j=0;j<3;j++)
}
} { printf(“ %d ”,b[i][j]);} printf(“n”);
三、用函数
输入一个字符串按反序存放
实验前的源程序:
/*输入一个字符串按反序存放*/ #include
int length,i;
char temp;length=strlen(str);
length=strlen(str);for(i=0;i<=length/2;i++){
temp=str[i];
str[i]=str[length-i-1];
str[length-i-1]=temp;} } main(){ int i,length;char str[89],temp;printf(“ 请输入一串字符:n”);gets(str);fun(str);printf(“
字符的逆序排列为:n
”);puts(str);} 实验错误报告:
[Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:8: passing `char' to argument 1 of `strlen(const char *)' lacks a cast [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:10: passing `char' to argument 1 of `strlen(const char *)' lacks a cast [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存
放.cpp:13: invalid types `char[int]' for array subscript [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:14: invalid types `char[int]' for array subscript [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:14: invalid types `char[int]' for array subscript [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:15: invalid types `char[int]' for array subscript [Error] D:Program FilesC-Free Standardsamples输入一个字符串按反序存放.cpp:24: passing `char *' to argument 1 of `fun(char)' lacks a cast 构建中止 输入一个字符串按反序存放: 7 个错误, 0 个警告
实验后的源程序:
/*输入一个字符串按反序存放*/
#include
int length,i;
char temp;length=strlen(str);
length=strlen(str);for(i=0;i<=length/2;i++){
temp=str[i];
str[i]=str[length-i-1];
str[length-i-1]=temp;} } main(){ int i,length;char str[89],temp;printf(“ 请输入一串字符:n”);gets(str);fun(str);printf(“
字符的逆序排列为:n
”);puts(str);}
四、用指针的方法 将3*3矩阵转置
实验前的源程序:
/*用指针的方法,将一个3*3整形矩阵转置*/ #include “stdio.h” void Transfer(int(*pointer)[3]){
int t;
int i, j;
for(i=1;i<3;i++)
{
for(j=0;j
{
t=*(*(pointer+j)+i);
*(*(pointer+j)+i)=(*(pointer+i)+j);
*(*(pointer+i)+j)=t;
}
} }
main(){ int i,j;
int a[3][3];
printf(“请输入一个3*3的整形矩阵:n”);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf(“%d”,&a[i][j]);
}
}
printf(“您所输入的3*3矩阵是:n”);
for(i = 0;i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,a[i][j]);
}
printf(“n”);
}
Transfer(a);
printf(“转置后的3*3矩阵为:n”);
for(i=0;i<3;i++){
for(j=0;j<3;j++)
} } { printf(“ %d ”,a[i][j]);} printf(“n”);实验错误报告:
正在编译 D:Program FilesC-Free Standardsamples用指针的方法,将一个33整形
矩阵转置.cpp...[Error] D:Program FilesC-Free Standardsamples用指针的方法,将一个33整形矩阵转置.cpp:13: assignment to `int' from `int *' lacks a cast 构建中止 用指针的方法,将一个33整形矩阵转置: 1 个错误, 0 个警告
实验后的源程序:
/*用指针的方法,将一个3*3整形矩阵转置*/ #include “stdio.h” void Transfer(int(*pointer)[3]){
int t;
int i, j;
for(i=1;i<3;i++)
{
for(j=0;j
{
t=*(*(pointer+j)+i);
*(*(pointer+j)+i)=*(*(pointer+i)+j);
*(*(pointer+i)+j)=t;
}
} }
main(){ int i,j;
int a[3][3];
printf(“请输入一个3*3的整形矩阵:n”);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf(“%d”,&a[i][j]);
}
}
printf(“您所输入的3*3矩阵是:n”);
for(i = 0;i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,a[i][j]);
}
printf(“n”);
}
Transfer(a);
printf(“转置后的3*3矩阵为:n”);
for(i = 0;i<3;i++){
for(j=0;j<3;j++)
{
printf(“ %d ”,a[i][j]);
}
printf(“n”);} }
五、用指针 请输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换实验前的源程序:
实验前的源程序:
#include
} for(i=0;i<10;i++){ if(a[i]<*n)n=&a[i];i=a[9];a[9]=*n;*n=i;} for(i=0;i<10;i++)printf(“ %d ”,a[i]);} 实验错误报告:
正在编译 D:Program FilesC-Free Standardtemp未命名7.cpp...[Error] D:Program FilesC-Free Standardtemp未命名7.cpp:13: ANSI C++ forbids comparison between pointer and integer 构建中止 未命名7: 1 个错误, 0 个警告
实验后的源程序:
#include
int a[10],i,*m,*n;
printf(“Input 10 numbers:n”);
for(i=0;i<10;i++)
{
scanf(“%d”,&a[i]);
m=n=&a[0];
}
for(i=0;i<10;i++)
{
if(a[i]>*m)
m=&a[i];
i=a[10];
a[10]=*m;
*m=i;
}
for(i=0;i<10;i++)
{
if(a[i]<*n)n=&a[i];
i=a[9];
a[9]=*n;
*n=i;
}
for(i=0;i<10;i++)
printf(“ %d ”,a[i]);}
六、用指针 求一字符的长度再main中输入在字符串,并输出长度
实验前的源程序:
/*用指针 求一字符的长度 再main中输入在字符串,并输出长度*/ #include
int i,n=0;
for(i=0;*(s+i)!= ;i++)
n++;
return(n);} void main(){
char *s;
char c[20];
s=c;
printf(“请输入字符串:n”);
gets(c);
printf(“ 字符串长度为%dn”,length(s));} 实验错误报告:
正在编译 D:Program FilesC-Free Standardsamples用指针 求一字符的长度 再main中输入在字符串,并输出长度.cpp...[Error] D:Program FilesC-Free Standardsamples用指针 求一字符的长度 再main中输入在字符串,并输出长度.cpp:6: stray '' in program [Error] D:Program FilesC-Free Standardsamples用指针 求一字符的长度 再main中输入在字符串,并输出长度.cpp:6: parse error before `;' 构建中止 用指针 求一字符的长度 再main中输入在字符串,并输出长度: 2 个错
误, 0 个警告
实验后的源程序:
#include
int i,n=0;
for(i=0;*(s+i)!=' ';i++)
n++;
return(n);
} void main(){
char *s;
char c[20];
s=c;
printf(“请输入字符串:n”);
gets(c);
printf(“ 字符串长度为%dn”,length(s));}
七、用函数的方法 由实参传来一个字符串,统计此字符中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述结果。实验前的源程序:
/*用函数的方法 由实参传来一个字符串,统计此字符中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述结果*/ #include
int i;
for(i=0;str[i]!=' ';i++)
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
alphabet++;
else if(str[i]>='0'&&str[i]<='9')
number++;
else if(str[i]==32)
space++;
else
others++;} void main(){
void count(char[]);
char str[80];
printf(“输入字符串:n”);
gets(str);
alphbet=0;
number=0;
space=0;
others=0;
count(str);
printf(“字母的个数= %dn数字的个数= %dn空格的个数= %dn其他字符个数= %dn”,alphabet,number,space,others);} 实验错误报告:
检查文件依赖性...正在编译 D:Program FilesC-Free Standardsamples用函数的方法 由实参传来一
个字符串,.cpp...[Error] D:Program FilesC-Free Standardsamples用函数的方法 由实参传来一个字符串,.cpp:25: `alphbet' undeclared(first use this function)[Error] D:Program FilesC-Free Standardsamples用函数的方法 由实参传来一个字符串,.cpp:25:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free Standardsamples用函数的方法 由实参传来一个字符串,.cpp:25: for each function it appears in.)构建中止 用函数的方法 由实参传来一个字符串,: 3 个错误, 0 个警告
实验后的源程序:
/*用函数的方法 由实参传来一个字符串,统计此字符中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述结果*/ #include
int i;
for(i=0;str[i]!=' ';i++)
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
alphabet++;
else if(str[i]>='0'&&str[i]<='9')
number++;
else if(str[i]==32)
space++;
else
others++;} void main(){
void count(char[]);
char str[80];
printf(“输入字符串:n”);
gets(str);
alphabet=0;
number=0;
space=0;
others=0;
count(str);
printf(“ 字母的个数=%dn 数字的个数=%dn 空格的个数=%dn 其他字符个数=%dn”,alphabet,number,space,others);}
八、用函数方法 输入一个3*3矩阵求其中元素的最大值 实验前的源程序:
/*用函数方法 输入一个3*3矩阵求其中元素的最大值*/ #include
int i,j;printf(“请输入一个3*3矩阵n”);for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
scanf(“%d”,&A[i][j]);
} } int max(int array[][3]);printf(“max= %dn”,max(A));} int max(int array[][3]){ int i,j,max;max=array[0][0];for(i=0;i<3,i++)
for(j=0;j<3,j++)
if(array[i][j]>max)
max=array[i][j];
return(max);} 实验错误报告:
正在编译 D:Program FilesC-Free Standardtemp未命名4.cpp...[Error] D:Program FilesC-Free Standardtemp未命名4.cpp:23: parse error before `)' 构建中止 未命名4: 1 个错误, 0 个警告
实验后的源程序:
/*用函数方法 输入一个3*3矩阵求其中元素的最大值*/ #include
int i,j;printf(“请输入一个3*3矩阵n”);for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
scanf(“%d”,&A[i][j]);
} } int max(int array[][3]);printf(“max= %dn”,max(A));} int max(int array[][3]){ int i,j,max;max=array[0][0];for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(array[i][j]>max)
max=array[i][j];
return(max);}
第二篇:《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
实验错误报告:
[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
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
江西理工大学
} 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
三、实验前的源程序:
/*查看某一年是否为闰年*/ #include
{
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
{
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
#include
改错前的源程序;#include
江西理工大学
#include
long x=7654123;x*=10;printf(“x=%7d”,x);}
改错前的源程序:
#include
#include
五、程序编写题:已知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
江西理工大学{ 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
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
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
江西理工大学 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
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
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 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 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语言程序设计(B) (2010-2011-2) 实验报告 教学班级: 学号: 姓名: 课程教师:王华金 实验辅导教师:王华金 江西理工大学P123-- 五、1、编写函数,找出5*5数组对角线上元素的最小值,并在主函数中调用它。要求元素的值通过键盘输入。 实验前的源程序: #include 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 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 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++) {第五篇:C语言实验报告