程序设计基础实验报告模板-dxw(共16页).doc
《程序设计基础实验报告模板-dxw(共16页).doc》由会员分享,可在线阅读,更多相关《程序设计基础实验报告模板-dxw(共16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上程序设计基础课程设计实验报告班级:姓名:张立磊学号:所选题目:1_1,,2_1,,3_1,3_2,4_1,5_1第1_1题 算法描述:定义两个数组,以只读的形式打开两个文本,当两个文本都没有读完时进行循环,如果两个文本不一样输出不同行。源程序:no1_1.c #include#include#includeint main() FILE*fp1=NULL; FILE*fp2=NULL; char str1100,str2100; fp1=fopen(test1.txt,r); fp2=fopen(test2.txt,r); while(!feof(fp1)&!feof
2、(fp2) fgets(str1,99,fp1);fgets(str2,99,fp2);if(strcmp(str1,str2)!=0) printf(file1:%s nfile2:%sn,str1,str2); break; fclose(fp1);fclose(fp2);return 0; 测试数据(输入、输出):第2_1题 算法描述:将源程序的每一行字符都放到一个数组里,检查/和/* */这两种情况,如果遇到/,便去除后面的字符,如果遇到/* */,去除中间的字符。源程序:No2_1.c #include#include#includeint main()FILE*fp1,*fp2;
3、/定义指向FILE类型文件的指针变量 char f110,f210,str500,temp1500,temp2500;int i,j=1,n=1,k=0;/定义变量 printf(请输入所用的源文件名:);/文件的打开 scanf(%s,f1) ;if(fp1=fopen(f1,r)=NULL)printf(无法打开源文件n);exit(0);printf(请输入所用的写入文件名:);scanf(%s,f2) ;if(fp2=fopen(f2,w)=NULL)printf(无法打开写入文件n);exit(0);while(fgets(str,500,fp1)!=NULL) /逐个字符读入文件
4、n=strlen(str); for(i=0;in;i+) /读到文件的最后 if(stri=/&stri+1=/) /遇到“/”注释的结果 stri=n;stri+1=0;break; if(stri=/&stri+1=*) /遇到“/* */”注释的结果 stri=0;strcpy(temp1,str);/把/*前字符串复制给temp1 k=1;/改变k的值 if(stri=*&stri+1=/) strcpy(temp2,&stri+2);/把*/后的字符串复制给temp2 k=0;/如果上面出现过/*,k值会变为1,所所以将k重新赋值0,确保下面的判断中k=1时是只遇到了/* strc
5、at(temp1,temp2);/将temp1和temp2连接起来 strcpy(str,temp1);/将连接后/*前和*/后完整的字符串复制给字符数组 if(k=1) continue;/当只遇到/*符号时,对它后面的字符不作处理 fprintf(fp2,%d. ,j+);/加行号 fputs(str,fp2);/此时str中存储的都是删除过后的字符串,直接写进新的cpp文件中 printf(已完成,任意键退出n);fclose(fp1);/文件的关闭 fclose(fp2);return 0; 测试数据(输入、输出):第3_1题 算法描述:由于输入是字符,所以减掉0得到对应的数值,另外采
6、用地位先加,之后的按转化规则编出 源程序:#include#includeint main()printf(请输入二进制的数:n); char s100=0; int n=0,i=0,m=1,sum=0; gets(s); while(si+) n+;/统计实际有多少位 for(i=0;in;i+) sum=sum+(sn-i-1-0)*m;/由于输入是字符,所以减掉0得到对应的数值,另外采用地位先加 m*=2;/因为高位的权是地位的2倍,所以每加完一位乘2 printf(结果是:%dn,sum); return 0; 测试数据(输入、输出):第3_2题算法描述:定义结构体来储存复数,三种运算
7、分为三种情况,分别按照运算规则编写源程序:#includeint main() struct fushu int i;/实部 int j;/虚部 a,b,c; int m; printf(请输入复数的实部和虚部n); scanf(%d %d %d %d,&a.i,&a.j,&b.i,&b.j); fflush(stdin); printf(请输入要进行的运算方式:n1.加法n2.减法n3.乘法n); scanf(%d,&m); if(m=1) c.i=a.i+b.i; c.j=a.j+b.j; else if(m=2) c.i=a.i-b.i; c.j=a.j-b.j; else c.i=a.
8、i*b.i-a.j*b.j; c.j=a.i*b.j+a.j*b.i; if(c.j=0)printf(结果为:%d+%din,c.i,c.j); if(c.j0)printf(结果为;%d%din,c.i,c.j); return 0; 测试数据(输入、输出):第4_1题算法描述:使用switch在主程序中,有好多功能在case中,每个功能都有个子程序来实现源程序:/1. 模拟 KTV 点歌系统。用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲, 点歌后显示所点歌曲歌词。管理员可添加和删除歌曲,每个歌曲的歌词用一个单独的文 件存储。 /ktv点歌系统 #include#include#inc
9、lude#define SIZE 1000 /最多有1000首歌曲 struct musicdatechar name15;char singer15;char style10;int flag=1;musicSIZE; int jiancha(char name15)/点歌时检查是否存在该歌曲,如果存在则返回1;并且输出歌曲信息 FILE *fp=fopen(music.txt,ab+); if(fp=NULL) printf(cont open this file.);exit(0);int i,j;for(i=0;!feof(fp);i+)fread(&musici,sizeof(str
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 实验 报告 模板 dxw 16
限制150内