C语言上机试验报告.doc

C语言上机试验报告.doc

ID:61485762

大小:619.00 KB

页数:13页

时间:2021-02-05

C语言上机试验报告.doc_第1页
C语言上机试验报告.doc_第2页
C语言上机试验报告.doc_第3页
C语言上机试验报告.doc_第4页
C语言上机试验报告.doc_第5页
资源描述:

《C语言上机试验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、西安交通大学电子与信息工程学院程序设计方法专题实验实验报告学号姓名冯伯阳班级信息04实验指导老师吴茜媛实验地点计算机教学实验中心实验结束日期2010年12月07日实验题目一1.题目要求:有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。2.问题分析:首先利用for循环输入三行十个字符,定义指针变量a表示每一行字符的首地址。利用for循环使数组下标【i】【j】增加,从而使*a表示从第一行第一个元素到第三那行的最后一个元素。再利用大写字母的ASCII码在A与Z之间,小写字母在a与z之间等,

2、统计出每种字符的个数。3.实验内容:开始输入数据定义指针变量用if语句判断字符类型并用自增统计数量输出统计结果结束#includevoidmain(){charm[3][80];char(*a)[80];/*定义指针变量a*/inti,j,s1,s2,s3,s4,s5;s1=0;s2=0;s3=0;s4=0;s5=0;printf("请输入240个字符(若超过,则统计前240字符)。");for(i=0;i<3;i++){for(j=0;j<80;j++)scanf("%c",&m[i][j]);}a=m;/*指针变量取m数组的

3、首地址*/for(i=0;i<3;i++){for(j=0;j<80;j++){if(*(a[i]+j)>64&&*(a[i]+j)<91)s1++;elseif(*(a[i]+j)>96&&*(a[i]+j)<123)s2++;elseif(*(a[i]+j)>47&&*(a[i]+j)<58)s3++;elseif(*(a[i]+j)=='')s4++;elses5++;}}printf("大写字母有%d个",s1);printf("小写字母有%d个",s2);printf("数字有%d个",s3);printf("空格有%d个"

4、,s4);printf("其他字符有%d个",s5);}程序运行结果:实验题目二1.题目要求:用选择法和冒泡法对10个整数按从大到小顺序排列。2.问题分析:题目要求程序提供两种排序方法并且由用户选择。首先分别编码两个函数——一个是冒泡排序,一个是选择排序。要实现的功能是用户选择函数。可以定义一个字符组变量,由用户输入“p”或者“c”,若为“p”,则调用第一个函数,若为“c”,则调用第二个函数。冒泡法:原方法是根据流程图写出程序,进行9次循环,实现9趟比较,在每一趟中进行9-j次比较,相邻两个数比较。应用指针编写程序,添加定义*a【10】指针,依旧

5、执行原方法的循环节,调用指针完成程序,输出结果。3.实验内容:主函数程序:#includevoidmain(){char_m;printf("欢迎使用本程序进行数字的排序!使用冒泡排序法,请输入‘p’;使用选择排序法,请输入‘c’,并按回车键。");scanf("%c",&_m);开始用冒泡函数进行排序输出排序后的结果结束输入数据选择冒泡排序法或选择排序法用选择函数进行排序输入数据back:if(_m=='p')paopaopao();elseif(_m=='c')choose();else{printf("您输入了错误的语句。

6、");gotoback;}printf("排序结束,谢谢您的使用。晚安!");}冒泡排序法:#includevoidpaopaopao(){int*a[10],*t;inti,j;printf("输入十个数字(每输入一个数字按一下回车):");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("排列后的数字

7、为:");for(i=0;i<10;i++)printf("%d",a[i]);printf("");}选择排序法:#includevoidchoose(){inti,j,k,*t,*a[10];printf("输入十个数字(每输入一个数字按一下回车):");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("");for(i=0;i<10;i++){k=i;for(j=i+1;j<10;j++){if(a[j]

8、printf("排列后的数字为:");for(i=0;i<10;i++)printf("%d",a[i]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。