c语言实验报告

上传人:M****1 文档编号:504412142 上传时间:2023-11-17 格式:DOCX 页数:30 大小:89.11KB
返回 下载 相关 举报
c语言实验报告_第1页
第1页 / 共30页
c语言实验报告_第2页
第2页 / 共30页
c语言实验报告_第3页
第3页 / 共30页
c语言实验报告_第4页
第4页 / 共30页
c语言实验报告_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c语言实验报告》由会员分享,可在线阅读,更多相关《c语言实验报告(30页珍藏版)》请在金锄头文库上搜索。

1、实验一进制转换一、实验要求采用模块化程序设计完成进制转换。 由键盘输入一个十进制正整数, 然后将该数转换成指定的进制数( 二、八、十六) 形式输出。指定的进制由用户输入。二、实验目的1、熟悉C 环境的安装、使用。2、承上启下,复习 C 程序设计等基础课程的知识。3、掌握C 语言编程的方法。三、预备知识1、的安装与使用。2、 C 程序设计基础知识。四、实验内容 采用模块化程序设计完成进制转换。五、程序框图六、程序清单1 .编写主函数:输入需转换的数与转换的进制2 .编写子函数(1)函数转换为除16进制以外的进制转换算数编程,使用while循环实现计算进制的转换,并输出转换后的数字;(2)函数转换

2、为16进制,用while函数实现16进制转换的计算并输出16进制转换后的数据;3.编写数组,关于16进制的一系列字符4.编写主函数加入do while使函数可以循环。七、实验步骤#include char num16=0,1,2,3,4,5,67,8,9,A,B,C,D,E,F;void fun(int n, int m) int i=-1, a100;if(m!=16)while(n)ai+=n%m;n=n/m;while(i!=-1)printf(%d,a-i);printf(n);elsewhile(n)a+i=numn%16;n/=16; while(i!=-1) printf(%c,

3、ai-);printf(n);int main()int a, c;char cIn = 0;doprintf(n 输入正整数,转换的进制: );scanf(%d %d,&a,&c);fun(a,c);printf(Go on (Y/N):);cIn = getchar( );if(cIn = N | cIn = n)return 0;while(1);fun(a,c);printf(Go on (Y/N):);cIn = getchar( );if(cIn = N | cIn = n)return 0;while(1);3、调试。八、实验结果愉人正整数,转捶的进制: s 55 Go on?

4、:新人正整皴,转换的进制:茹2 Altai前 on? !输入正整敞,特挨的进制的1& Go tn? :输入正整数,转换的进制,照工 140Qu on? ;输入正整数,转换的进制:实验二学生班级成绩统计一、实验要求设计一个统计班级学生成绩的程序。统计一个班(最多有35人)的学生成绩,要求能实现如下四个功能:(1)由键盘输入每个学生的学号和四门课程的成绩。(2)计算每个学生的平均成绩和总成绩。(3)按总成绩从高到低排名,并按名次输出每个学生的情况,包括: 学号,各科成绩,平均成绩,总成绩,排名(4)根据要求输出某门课程(由键盘输入课程号)成绩在90分(含90分)以上且总分在前5名的学生情况(请采用

5、结构体数据类型,并采用模块化结构实现)二、实验目的1、进一步熟悉C 环境的安装、使用。2、进一步复习C 程序设计等基础课程的知识。3、进一步掌握C 语言编程的方法。三、预备知识1、的安装与使用。2、 C 程序设计基础知识。3、软件实现基本流程。四、实验内容设计一个统计班级学生成绩的程序。六、程序清单1、先编写主函数,将所需要用到的子函数编写,2、子函数1:输入数据,将所需要的数据存到数组中并计算平均值和总分,3、子函数2:根据子函数 1计算所得值进行排序,4、子函数3:输出排序完的数据,5、子函数4:编写查询程序,输入查询的科目缩写,并排名后输出。七、实验步骤1、可行性分析2、需求分析3、概要

6、设计与详细设计(含绘制流程图)。4、编码实现 #include int order35;double addsum35;double addaver35;int b= 0;typedef struct studentint id;char name35;double math;double english;double chinese;double computer; student;student stu35;void shuru()b= 0;while( b 35 )printf( 输入学号 (输入 0退出输入 ): );scanf( %d, &stub.id );fflush( stdi

7、n );if ( stub.id = 0 ) break;printf(输入名字:);scanf(%s,&stub.name);printf( 输入 4 门成绩(数学英语 语文 计算机 ): );scanf( %lf %lf %lf %lf, &stub.math, &stub.english,&stub.chinese, &stubputer );fflush( stdin );addsumb = stub.math + stub.english +stub.chinese, stubputer; addaverb= addsumb / ;orderb = stub.id;b+;int qu

8、ery( int id )int i = 0;for( i=0; ib; i+ )if ( stui.id = id )return i;return -1;void paiming()int i,j;for( i=0; ib; i+ )for( j=i+1; jb; j+ )if ( addsumi - addsumj )int temp_id = orderi;orderi = orderj;orderj = temp_id;void output()int i;printf( 名次 学号 姓名 数学 英语 语文 for( i=0; ib; i+ )int j = query( order

9、i );if ( j0 ) 计算机 总分平均 n );6/21 页printf( order%d= %d errorn, i+1, orderi );continue;printf( %02d % %s % % % % % %n, i+1, stuj.id, stuj.name,stuj.math, stuj.english, stuj.chinese, stujputer,addsumj, addaverj );void chaxun()char a1;int i;printf(输入你所想要查询的课程代号:);scanf(%c,&a1);printf( 名次 学号 姓名 数学 英语 语文 计

10、算机 总分 平均 n ); if(a1=m)for(i=0;i90 & orderi 5) printf( %02d % %s % % % % % %n, i+1, stui.id, stui.name,stui.math, stui.english, stui.chinese, stuiputer,addsumi, addaveri );else if(a1=e) for(i=0;i90 & orderi 5) printf( %02d % %s % % % % % %n, i+1, stui.id, stui.name,stui.math, stui.english, stui.chine

11、se, stuiputer,addsumi, addaveri );else if (a1=c)for(i=0;i90 & orderi 5)printf( %02d % %s % % % % % %n, i+1, stui.id, stui.name,stui.math, stui.english, stui.chinese, stuiputer,addsumi, addaveri );else for(i=0;i90 & orderi 5)printf( %02d % %s % % % % % %n, i+1, stui.id, stui.name,stui.math, stui.engl

12、ish, stui.chinese, stuiputer,addsumi, addaveri ); void main()shuru();paiming();output();chaxun();5、调试。八、实验结果实验三 文件合并一、实验要求将两个文件中的数据合并至一个文件。有两个文件“ Afile ”和“ Bfile ”,各存放一行字母,今要求把这两个文件中的信息合并 ( 按字母顺序排列 ) ,输出到一个新文件“ Cfile ”中去。二、实验目的1、掌握指针、文件指针的概念。2、掌握文件操作的知识。3、进一步掌握软件开发的基本流程。三、预备知识1、 C 程序设计基础知识。2、软件实现基本流程。四、实验内容将两个文件中的数据合并至一个文件。五、程序清单请按照自己对程序设计需求的理解进行设计。六、程序框图七、实验步骤#include #include void Output(FILE *fp)char ch,t,str3100;int i=0,j,k;while(ch=fgetc(fp)!=EOF)str3i = ch;i+;for(j=0;j=i;j+)for(k=j+1;kstr3k)t= str3j;str3j = str3k ;str3k = t;for(j=0;j=i;j+)printf(%c,str3j);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号