程序设计c实验报告--江苏理工学院.doc_第1页
程序设计c实验报告--江苏理工学院.doc_第2页
程序设计c实验报告--江苏理工学院.doc_第3页
程序设计c实验报告--江苏理工学院.doc_第4页
程序设计c实验报告--江苏理工学院.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计(C)实验报告2014 2015 学年 第二学期院 系: .班 级: .学 号: .姓 名: .江苏理工学院计算机工程学院 计算机应用基础教研室 实验 1题目选择结构程序设计实验学时2学时实验目的1. 了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”);2. 学会正确使用逻辑运算符和逻辑表达式;3. 熟练掌握if语句的使用(包括if语句的嵌套);4. 熟练掌握多分支选择语句switch语句;5. 结合程序掌握一些简单的方法;6. 学习调试程序的方法。实验内容 与 题目要求实验内容 与 题目要求实验内容 与 题目要求1.有一函数: x (x1) y = 2x-1 (1x10) 3x-11 (x10) 写程序,输入x的值,输出y相应的值。源程序代码如下:#includeint main()int x,y;printf(输入x:); scanf(%d,&x);if(x1) y=x;printf(x=%3d,y=x=%dn,x,y); else if(x10) y=2*x-1;printf(x=%d,y=2*x-1=%dn,x,y); else y=3*x-11;printf(x=%d,y=3*x-11=%dn,x,y); return 0;运行结果贴图:2.给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80-90分为B,70-79分为C,60-69分为D,60分以下为E。源程序代码如下:#includeint main()float score;char grade;printf(请输入学生成绩:);scanf(%f,&score);while(score100|score0)printf(n输入有误,请重输);scanf(%f,&score);switch(int)(score/10)case 10:case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0:grade=E;printf(成绩是%5.1f,相应的等级是%cn,score,grade); return 0;运行结果贴图: 3. 从键盘输入112之间的任一数字,输出表示一年中对应该月的英文单词。源程序代码如下:#includeint main()int m;printf(请输入月份:n);scanf(%d,&m);printf(m=%dn,m); while(m12|m1)printf(n输入有误,请重输!n);scanf(%d,&m);switch(m)case 12:printf(month:Decembern);break; case 11:printf(month:Novembern);break;case 10:printf(month:Octobern);break;case 9:printf(month:Septembern);break;case 8:printf(month:Augustn);break;case 7:printf(month:Julyn);break;case 6:printf(month:Junen);break; case 5:printf(month:Mayn);break;case 4:printf(month:Apriln);break;case 3:printf(month:Marchn);break;case 2:printf(month:Februaryn);break;case 1:printf(month:Januaryn);break;return 0;运行结果贴图: 心得体会 注意各种运算符的优先次序。 “&”和“|”是双目运算符 ,它要求有两个运算对象;“!”是一目运算符,只要求有一个运算对象。 逻辑表达式的值应该是一个逻辑量“真”或“假”,逻辑运算的结果不是“0”就是“1”。实验 2题目循环结构程序设计实验学时2学时实验目的1. 熟悉掌握用while语句、dowhile语句和for语句实现循环的方法;2. 掌握在程序设计中用循环的方法实现一些常用方法;3. 进一步学习调试程序。实验内容 与 题目要求实验内容 与 题目要求实验内容 与 题目要求1. n从键盘输入,当n为偶数时,求1/2+1/4+1/n的值;当n为奇数时,求1/1+1/3+1/n的值。源程序代码如下:#includeint main()int n,i;float sum=0;printf(请输入n:n);scanf(%d,&n); if(n1)printf(输入有误,请重新输入!);if(n%2!=1)for(i=1;i(n/2+1);i+)sum=sum+1.0/(2*i); printf(1/2+1/4+.+1/n=%fn,sum); elsefor(i=1;i(n+3)/2;i+)sum=sum+1.0/(2*i-1); printf(1/1+1/3+.+1/n=%fn,sum);return 0;运行结果贴图:2. 输出1,2,3,4四个数字能组成的所有无重复数字的三位数。源程序代码如下:#includeint main()int i,j,k;int m=0;printf(请输出1,2,3,4组成的无重复三位数:n);for(i=1;i5;i+)for(j=1;j5;j+)for(k=1;k5;k+)if(i!=j&k!=j&i!=k)printf(%d%d%d ,i,j,k);m+;printf(n组合三位数的个数:%dn,m);return 0;运行结果贴图:3.输出一个正整数的反序数,例如输入4578,则应输出8754。源程序代码如下:#includeint main()int x;printf(请输入一个数字:);scanf(%d,&x);printf(反序的数字:);while(x!=0)printf(%d,x%10); x/=10;printf(n);运行结果贴图:心得体会 While与dowhile区别为前者先判断条件表达式,后执行循环体语句;后者先执行循环体,然后在检查条件是否成立,若成立,再执行循环体。 在while中不要忽略给i和sum赋初值,否则它们的值是不可预测的。 While、dowhile、for,都可以用break语句跳出循环,用continue语句结束本次循环。实验 3题目利用数组处理批量数据实验学时4学时实验目的1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法;2. 掌握字符数组和字符串函数的使用;3. 掌握与数组有关的算法。实验内容 与 题目要求实验内容 与 题目要求实验内容 与 题目要求1. 输入一个3*3的整型矩阵,统计其中正数、负数以及零的个数并输出。源程序代码如下:#includeint main()int a33;int i,j;int sum_0=0,sum_1=0,sum_2=0;printf(请输入3*3矩阵:);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%5d,&aij);for(i=0;i3;i+)for(j=0;j3;j+) printf(%5d,aij);printf(n);for(i=0;i3;i+)for(j=0;j3;j+)if(aij0)sum_1+;else sum_0+;printf(0有:%d个n,sum_0);printf(正数有:%d个n负数有:%d个n,sum_1,sum_2);运行结果贴图:2. 从键盘输入10个数,找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,输出变换后的结果 。源程序代码如下:#includeint main()int a10;int max=0,min=0;int i,temp;printf(请输入10个整数:);for(i=0;i10;i+)scanf(%d,&ai);for(i=0;iamin) min=i;temp=amin;amin=a0;a0=temp;for(i=0;i10;i+)if(aiamax) max=i; temp=amax;amax=a9;a9=temp;printf(变换后的10个数:);for(i=0;i10;i+)printf(%3d,ai); printf(n);运行结果贴图:3.从键盘输入一字符串s,将该字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t数组中。源程序代码如下:#include #include int main()char s50; char t50; int i; printf(请输入字符串:); scanf(%s,s);memset(t,0,sizeof(t); for( i=0;istrlen(s)/2;i+ ) ti=si*2; ti=0; printf(%sn,t); return 0;运行结果贴图:心得体会 一位数组在比较大小排序时用“起泡法排序”,二维数组用“打擂台算法” 在字符数组的初始化中如果初值个数小于数组长度,则只将这些字符数组赋给数组中前面的那些元素,其余的元素自动定位空字符。 注意字符串的两端实用双撇号而不是单撇号括起来的。实验 4题目用函数实现模块化程序设计实验学时4学时实验目的1. 掌握定义、声明函数的方法;2. 掌握调用函数时实参和形参的对应关系,以及“值传递”的方式;3. 熟悉函数的嵌套调用和递归调用的方法;4. 熟悉全局变量和局部变量的概念和用法。实验内容 与 题目要求实验内容 与 题目要求实验内容 与 题目要求1. 函数int flag(int x0,int x1,int d)的功能是找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。编写main函数,调用flag函数求出1550之间所有满足条件的整数。源程序代码如下:#includeint main() int flag(int x0,int x1);int a,b,n;printf(请输入区间范围:);scanf(%d%d,&a,&b);n=flag(a,b);printf(能被3整除的数的个数是:%dn,n);return 0;int flag(int x0,int x1)int d40,m,i=0;m=x0;for(;m=x1;m+)if(m%3=0)di=m; i+;return(i);运行结果贴图:2. 函数void move(int a ,int n,int m)的功能是将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写main,调用move函数,输出变换后的结果。源程序代码如下:#include void main() void move(int a10,int n,int m); int n,m; int i; int a10; printf(请输入你要的数组长度n); scanf(%d,&n); printf(输入你要交换的数组:n); for(i=0;in;i+) scanf(%d,&ai); printf(输入你要交换前多少个数字:n); scanf(%d,&m); move(a,n,m); for(i=0;i0) p=a+n-1; array_end=*(a+n-1); for(p;pa;p-) *p=*(p-1); *a=array_end; m-; if(m0) move(a,n,m); 运行结果贴图:3. 函数void jssort(int a,int n)的功能是对a数组中前n个元素的后三位的大小进行升序排序。要求:在main中输入a数组的10个元素;调用函数jssort实现对a数组的排序;输出排序后的各元素。测试数据:6012,5099,9012,7025,8088,9096,8080,3046,5082,2345运行结果:6012,9012,7025,3046,8080,5082,8088,9096,5099,2345源程序代码如下:#includeint main()void jssort(int b);void writedat(int b);int a10,i;printf(请输入需要排序的数组:n); for(i=0;i10;i+)scanf(%d,&ai);jssort(a);writedat(a);void jssort(int b)int i,j,min,t;for(i=0;i9;i+)min=i;for(j=i+1;jbj%1000)min=j;if(min!=i)t=bmin;bmin=bi;bi=t;void writedat(int b)int i;printf(排序后的数组:n);for(i=0;i10;i+) printf(%5d,bi); printf(n);运行结果贴图:心得体会了解了如何定义函数,如何调用函数,明白全局变量的应用范围。区别内部函数与外部函数。学会运用函数。实验 5题目用指针处理链表实验学时4学时实验目的1. 掌握指针的概念,会定义和使用指针变量;2. 掌握结构体类型变量定义和使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论