C语言实验报告

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

第一篇:C语言实验报告

实验一 C程序的运行环境和运行C程序的办法

1.实验目的

(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。(3)通过运行简单的C程序,初步了解C源程序的特点。(2)进入所用的集成环境。

(3)熟悉集成环境的界面和有关菜单的使用方法。(4)输入并运行一个简单的、正确的程序。

①根据本书介绍的方法对源程序进行编译,观察屏幕上显示的编译信息。若出错则返回修改,无错则连接。② 编译连接无错,运行程序,观察分析运行结果。(5)输入并编译一个有错误的C程序。

(6)输入并运行一个需要在运行时输入数据的程序。(7)运行一个自己编写的程序

心得体会:了解了C程序的运行环境和运行C程序的办法。在学校机房选用的是Turbo C。

实验二 数据类型、运算符和表达式

1.实验目的

(1)掌握C语言数据类型、熟悉如何定义一个整型、字符型和实型的变量,以及对他们的赋值方法。(2)掌握不同数据类型之间的赋值规律。

(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。2.实验内容和步骤(1)输入并运行下面程序: #include void main(){char c1,c2;c1='a';c2='b';printf(“%c %cn”,c1,c2);} ①运行此程序,结果为:a b

②在上面printf语句下面再增加一个printf语句: printf(“%d %dn”,c1,c2);再运行,并分析结果,结果为97 98 ③将第三行改为 int c1,c2;再使之运行,并观察结果,结果为97 98 ④再将第4、5行改为;c1=a;c2=b;再使之运行,并观察结果,结果为运行出错。⑤再将第4、5行改为:

(1)检查所用计算机系统是否已安装了C编译系统并确定它所在的子目录。

c1=”a”;c2=”b”;再使之运行,并观察结果,结果为404 406 ⑥再将第4、5行改为: c1=300;c2=400;再使之运行,并观察结果,结果为300 400;

心得体会:在编写C程序时,有些细小的错误会影响结果的正确性。所以编写的时候要仔细小心。初步编写完成要回过头来再检查一遍

实验三 最简单的C程序设计

1.实验目的

(1)掌握C语言中使用最多的一种语句——赋值语句的使用方法。(2)掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。2.实验内容和步骤

(1)通过下面的程序掌握各种格式转换符的正确使用方法。①输入以下程序 #include void main(){int ‘a’,’b’;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000 printf(“a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,n,p,q);getch();} ②运行此程序并分析结果 a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000 ③在此结果上,将程序9~14行改为: a=61,b=62

c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000 运行程序,分析结果a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536 ④改用scanf函数输入程序而不用赋值语句,scanf函数如下

scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u”,&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q)输入的数据如下:

61,62,a,b,3.56,-6.87,3157,89.121,0.123456789,50000,-60000,37678,40000 运行结果如下:

61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000 a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=37678,q=40000 ⑤在④的基础上将printf改为:printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%n”,f,g,m,n,p,q);a=61,b=62 c1=a,c2=b d= 3.560000,e=-6.869999885559 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1

⑥将p,q改用%o格式符输出a=61,b=62 c1=a,c2=b d= 3.560000,e=-6.869999885559 f=3157.890121,g=0.123457 m=-15536,n=0 p=12640,q=177777

⑦将scanf函数中的%lf和%ld改为%f和%d,运行程序分析结果: c1=a,c2=b d= 3.560000,e=-6.869999885559 f=0.000000,g=0.000000

m=-15536,n=1824 p=5536,q=1983(2)按习题4.8要求编写程序,并上机运行。题目为:设半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出结果。输出时要有文字说明,取小数点后两位数字。#include main(){ float r,h,L,S,S1,V,V1,pi=3.1415926;printf(“r= ”);scanf(“%f”,&r);printf(“h= ”);scanf(“%f”,&h);L=2*pi*r;S=pi*r*r;S1=4*pi*r*r;V=4/3*(pi*r*r*r);V1=S*h;printf(“L=%6.2fnS=%6.2fnS1=%6.2fnV=%6.2fnV1=%6.2fn”,L,S,S1,V,V1);printf(“*********n”);printf(“copyrightn”);printf(“*********n”);getch();结果:L=9.42 S=7.07 S1=28.26 V=14.13 V1=21.20(3)编程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符。

上机运行程序,比较用printf和putchar函数输出字符的特点。代码:#include void main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(“%c,%c”,c1,c2);getch();} 结果:ab aba,b 比较,一个putchar函数只可以输出一个字符,而一个print函数可以输出多个字符,并可以用符号连接。

心得体会:如何在代码中使用不同的函数从而简化代码,优化代码需要我们多加练习,多加体会。

实验四 逻辑结构程序设计

1.实验目的

(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

(2)学会正确使用逻辑运算符和逻辑表达式。(3)熟练掌握if语句和switch语句。(4)结合程序掌握一些简单的算法。(5)学习调试程序。2.实验内容

(1)习题5.5。有一函数: y=x

(x<1)y=2x-1

(1≦x<10)y=3x-11(x≥10)用scanf函数输入x的值,求y的值。

运行程序,输入的x(分别为x<1,1~10,x≥10这3中情况),检查输出值的准确性。# include void main(){ int x,y;printf(“x:”);scanf(“%d”,&x);if(x<1){y=x;printf(“x=%3d, y=x=%dn”,x,y);} else if(x<10){y=2*x-1;printf(“x=%3d,y=2*x-1=%dn”,x,y);} else {y=3*x-11;printf(“x=%3d,y=3*x-11=%dn”,x,y);

} } 运行结果:x: ⑵ 给出一个百分制绩,要求输入成绩ABCDE。90分以上的为A,81~89分为B,70~79分为C,60~69分为D,60分以下的为E。① 实现编号程序,要求分别用IF和switch语句来实现。运行结果,并检查结果。

② 在运行一次,输入值为负值,这显然时输入错误,修改程序,是只能正确处理结果,当输入数据>100或<0是,通知用户输入错误,程序结束。# include void main(){float score;char grade;printf(“input student's score:”);scanf(“%f”,&score);switch((int)(score)){case 100: case 90:grade='A';break;case 80:grade='B';break;

case 70:grade='C';break;case 60:grade='D';break;case 50: case 40: case 30: case 20: case 10: case 00:grade='E';break;} printf(“score is %5.1fthe grade is %cn”,score,grade);getch();}(3)给一个不多于5为的正整数,要求1:起哦出他是几位数,2:粉笔输出每一位数字3;按逆顺序输出各个数字,例如原数321,应输出123,·要处理的数为1位正整数; ·要处理的数为2位正整数; ·要处理的数为3位正整数; ·要处理的数为4位正整数; ·要处理的数为5位正整数。

除此之外,程序还应当对不合法的输入作必要的处理,例如: ·输入负数;

·输入的数超过5位(如123456)代码:#include void main(){long x;int a,b,c,d,e;scanf(“%ld”,&x);if(x>=100000||x<0){printf(“输入错误”);} else if(x>=0&&x<10){printf(“它是一位数,数字为:%d”,x);} else if(x>=10&&x<100){a=x%10;b=x/10;printf(“它是二位数,数字为:%d,%d”,a,b);} else if(x>=100&&x<1000){a=x%10;b=x/10%10;c=x/100;printf(“它是三位数,数字为:%d,%d,%d”,a,b,c);} else if(x>=1000&&x<10000){a=x%10;b=x/10%10;c=x/100%10;d=x/1000;printf(“它是四位数,数字为:%d,%d,%d,%d”,a,b,c,d);} else if(x>=10000&&x<100000){a=x%10;b=x/10%10;c=x/100%10;d=x/1000%10;e=x/10000;printf(“它是五位数,数字为:%d,%d,%d,%d,%d”,a,b,c,d,e);} getch();}

结果:与预期相符。

(4)输入4个整数,要求按由小到大顺序输出。

在得到正确结果后,修改程序使之按由大到小顺序输出。代码1:#include void main(){int a,b,c,d,t;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(“%d,%d,%d,%d”,a,b,c,d);getch();} 代码2: #include void main(){int a,b,c,d,t;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);if(a

实验五 循环控制

1.实验目的

(1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。

(2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。(3)进一步学习调试程序。2.实验内容

编程序并上机调试运行。

(1)输入两个正整数m和n,求他们的最大公约数和最小公倍数

在运行时,输入的值m>n,观察结果是否正确。

再输入时,使m

修改程序,不论m和n为何值,都能得到正确结果。代码:#include #include void main(){int m,n,i;scanf(“%d,%d”,&m,&n);for(i=fabs(n);i>=1;i--){if(n%i==0&&m%i==0)break;} printf(“%dn”,i);for(i=1;i<=fabs(m*n);i++){if(i%n==0&&i%m==0)break;} if(m*n<0)printf(“%dn”,-i);else printf(“%d”,i);getch();} 结果:与预期结果相符。

(2)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。代码:#include void main(){char s;int a,b,c,d,e;a=0;b=0;c=0;d=0;e=0;while((s=getchar())!='n'){if(s>='A'&&s<='Z')a++;else if(s>='0'&&s<='9')b++;else if(s==' ')c++;else if(s>='a'&&s<='z')e++;else d++;} printf(“%d,%d,%d,%d,%d”,a,b,c,d,e);getch();} 结果:与预期结果相符

(3)用牛顿迭代法求方程2x3-4x2+3x=6在1.5附近的根。

在得到正确结果后。请修改程序使所设的x初始值由1.5改变为100、1000、10000,在运行,观察结果,分析不同的x处置对结果有没有影响,为什么?

修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的x初始值对迭代的次数有无影响。代码:#include #include void main(){float x1,x0,f,f1;scanf(“%f”,&x1);do {x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;} while(fabs(x1-x0)>=1e-5);printf(“%5.2fn”,x1);getch();} 结果:与预期结果相符,x的初始值对于迭代没有影响。

(4)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前天剩下的一半零一个。到第10天早上再想吃时,见只剩一个桃子了。求第一天共摘了多少桃子。在得到正确结果后,修改题目,改为猴子每天吃了前一天的一半后,再吃两个。请修改程序并运行,检查结果是否正确。代码:#include void main(){int s,i;s=1;for(i=1;i<10;i++)s=2*(s+1);printf(“%d”,s);getch();} 结果1534

代码:#include void main(){int s,i;s=1;for(i=1;i<10;i++)s=2*(s+2);printf(“%d”,s);getch();} 结果2556 心得体会:循环控制也很难,还要多加练习。

实验六 数组

1.实验目的

(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法;(2)掌握字符数组和字符串函数的使用;(3)掌握与数组有关的算法(特别是排序算法)。2.实验内容

编程序并上机调试运行

(1)用选择法对10个整数排序。10个整数用scanf函数输入 代码:#include void main(){int a[11],i,j,min,t;for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)printf(“%d”,a[i]);for(i=0;i<9;i++){min=i;for(j=i+1;j<10;j++)if(a[j]

(1)有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数组是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。代码:#include

void main(){int a[15],i,x,min,max,sign,loca,mid;for(i=0;i<15;i++)scanf(“%d”,&a[i]);for(i=0;i<15;i++)printf(“%3d”,a[i]);scanf(“%d”,&x);max=14;min=0;sign=0;if(xa[14])loca=-1;while((!sign)&&(min<=max)){mid=(max+min)/2;if(x==a[mid]){loca=mid;printf(“%d”,loca+1);sign=1;} else if(x

(2)将两个字符串连接起来,不要用strcat函数。代码:#include void main(){char str1[40],str2[40];int i,j;i=0;j=0;scanf(“%s”,str1);scanf(“%s”,str2);while(str1[i]!='')i++;while(str2[j]!='')str1[i++]=str2[j++];str1[i]='';printf(“%s”,str1);getch();

} 结果:与预期结果相符。

(2)找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

应至少准备两组测试数据: ① 二维数组有鞍点,例如: ② 二维数组没有鞍点,例如:

用scanf函数从键盘输入数组各元素的值,检查结果是否正确。题目并未指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。因此,从理论上来说,应当准备许多不同行数和列数的数组数据,但这样的工作量太大,一般来说不需要这样做,只需准备典型的数据即可。

如果已指定了数组的行数和列数,可以在程序中对数组元素赋初值,而不必用scanf函数。代码:#include void main(){int a[4][5],i,j,k,max,maxj,flag;for(i=0;i<4;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);for(i=0;i<4;i++){max=a[i][0];maxj=0;for(j=0;j<5;j++)if(a[i][j]>max){max=a[i][j];maxj=j;} flag=1;for(k=0;k<4;k++)if(max>a[k][maxj]){flag=0;continue;} if(flag){printf(“%d”,max);break;}} if(!flag)printf(“no exist”);getch();} 结果:与预期结果相符。

心得体会:数组很重要,要掌握一维、二维数组的定义,并掌握有关算法

实验七 函数

1.实验目的

(1)掌握定义函数的方法;

(2)掌握函数实参与形参的对应关系,以及“值传递”的方式;(3)掌握函数的嵌套调用和递归调用的方法;

(4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方式;(5)学习对多文件的程序的译和运行。2.实验内容

(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息; 本程序应当准备以下测试数据:17、34、2、1、0。分别运行并检查结果是否正确。代码:#include main(){int prime(int n);int n;printf(“nintput an integer:”);scanf(“%d”,&n);if(prime(n))printf(“n%d is a prime.n”,n);else printf(“n%d is not a prime.n”,n);getch();}

int prime(int n){int flag=1,i;for(i=2;i void main(){int words(char);int longest(char[]);int i;char line[100];printf(“input one line:n”);gets(line);printf(“the longest word is:”);for(i=longest(line);words(line[i]);i++)printf(“%c”,line[i]);

printf(“n”);getch();} int words(char c){if((c>='a'&&c<='z')||(c>='A'&&c<='z'))return(1);else return(0);} int longest(char string[]){int len=0,i,length=0,flag=1,place=0,point;for(i=0;i<=strlen(string);i++)if(words(string[i]))if(flag){point=i;flag=0;} else len++;else {flag=1;if(len>=length){ length=len;place=point;len=0;}} return(place);}

运行结果:input one line: jkjk jiuiw hodyqyd jak the longest word is: hodyqyd

(3)用递归法将一个整数n转换成字符串。代码:#include main(){void convert(int n);int number;printf(“input an integer:”);scanf(“%d”,&number);printf(“output:”);if(number<0)

{putchar('-');number=-number;} convert(number);putchar('n');getch();}

void convert(int n){int i;if((i=n/10)!=0)convert(i);putchar(n%10+'0');}

运行结果:input an integer:123345667899 output:123345667899 心得体会:复杂的代码更需要耐心。

实验八 编译预处理

1.实验目的

(1)掌握宏定义的方法;(2)掌握文件包含处理方法;(3)掌握条件编译的方法。2.实验内容

编程序并上机调试运行。

(1)定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出以交换后的两个值 代码:#include #define swap(a,b)t=b;b=a;a=t main(){int a,b,t;printf(“input two integer a,b”);scanf(“%d,%d”,&a,&b);swap(a,b);printf(“Now,a=%d,b=%dn”,a,b);} 运行结果:与预期结果相符。

(2)用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母。用#define命令来控制是否要译成密码。代码:#include #define MAX 80 #define CHANGE 1 main(){char str[MAX];int i;gets();#if(CHANGE){if(i=0;i='a'&&str[i]<'z'||str[i]>='A'&&str[i]<='Z')str[i]+=1;else if(str[i]++'z'||str[i]=='Z')str[i]-=25;}} #endif print(“output:n%sn”,str);} 运行结果:与预期结果相符。

心得体会:对宏定义、文件包含处理方法、条件变编译的方法还需要多加练习

实验九

指针

1.实验目的

(1)通过实验进一步掌握指针的概念,会定义和使用指针变量;(2)能正确使用数组的指针的指针数组的指针变量;(3)能正确使用字符串的指针和指向字符串的指针变量;(4)了解指向指针的指针的概念及使用方法。2.实验内容

(1)输入3个整数,按由小到大的顺序输出,然后将程序改为;输入3个字符串,按由小到大的顺序输出。代码:#include main(){void swap(int *p1,int *p2);int n1,n2,n3;int *p1,*p2,*p2;scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“%d,%d,%dn”,n1,n2,n3);} void swap(int *p,int *p){int p;p=*p;*p1=*p2;*p2=p;} 运行结果:与预期结果相符。

(2)原来第几号的人有n个人围成一圈,顺序排号。从第一个人开始报数,凡报道三的人退出圈子,问最后留下的是原来第几号的人。代码:#include main(){int i,k,m,num[50],*p;scanf(“%d”,&n);p=num;for(i=0;i

(3)用指针指向的指针的方法对n个整数进行排序并输出。要求将排序单独写成一个函数。n和个各整数在主函数中输入。最后在主函数中输出。

代码:#include main(){void sort(int **p,int n);int i,n,digit[20],**p,*pstr[20];scanf(“%d”,&n);for(i=0;i**(p+j)){temp=*(p+i);

*(p+i)=*(p+j);*(p+j)=*temp;}}}} 运行结果:与预期结果相符。

心得体会:指针是非常重要一部分,要多多练习,多多体会。

实验十

结构体和公用体

1.实验目的:

(1)掌握结构体类型变量的定义和使用;(2)掌握结构体类型数组的概念和应用;(3)掌握链表的概念,初步学会对链表进行操作;(4)掌握共用体的概念与使用。2.实验内容

编程序,然后上机调试运行。

(1)有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩、以及最高分的学生的数据,(包括学好、姓名、3门课的成绩、平均分数)。(本题是教材第11章习题11.5)要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。

(2)13个人围成一圈,从第一个人开始顺序报号1、2、3.凡报道“3”者退出圈子,找出最后留在圈子中的人原来的序号(本题是教材第11章习题11.9)。本题要求用链表实现。

(3)建立一个链表,每个节点包括:学好、姓名、性别、年龄。输入一个年龄,如果链表中的节点所包含的年龄等与此年龄,则将此节点删去(本题是教材第11章习题11.11)。(4)输入和运行以下程序: #include union data {int i[2];float a;long b;char c[4];} void main(){scanf(“%d,%d”,&u,i[0],&u.i[1];printf(i[0]=%d,i[1]=%da=%fb=%ldc[0]=%c,c[1]=%c,c[2]=%c,c[3]=%c”,u.i[0], u.i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);} 输入两个整数10000、20000赋给u.i[0]和u.i[1].分析运行结果。然后将scanf语句改为: scanf(“%1d”,&u.b);输入60000赋给b。分析运行结果。

运行结果:与预期结果相符。

心得体会:掌握链表的使用,耐心分析程序中出现的错误与问题。

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

    计算机软件技术基础实验报告 实验一:线性表的排序与查找 一.实验内容 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、 单击“开始”“程序”......