《C语言程序设计》课程设计报告格式.docx
- 文档编号:5608004
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:20
- 大小:113.87KB
《C语言程序设计》课程设计报告格式.docx
《《C语言程序设计》课程设计报告格式.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程设计报告格式.docx(20页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》课程设计报告格式
《C语言程序设计》
课程设计报告
(2011—2012学年第1学期)
题目:
专业:
计算机科学与技术
班级:
1班
姓名学号:
XX
指导教师:
XX
成绩:
计算机科学与技术系
2011年12月31日
目录
一、课程设计的目的与要求………………………………………页码
二、方案实现与调试……………………………………………页码
2.1大优惠…………………………………………………页码
2.2汽车加油……………………………………………………………
2.3金币……………………………………………………页码
2.4缩印…………………………………………………………………
三、课程设计分析与总结…………………………………………页码
附录程序清单…………………………………………………页码
(报告正文部分的格式):
(要求:
正文部分一律用五号字,宋体,单倍行距。
一级大标题靠左,四号,宋体,加粗。
二级大标题靠左,小四,宋体,不加粗。
)
课程设计的内容及格式如下:
一、课程设计的目的与要求(含设计指标)
(参见课程设计要求)
二、方案实现与调试
2.1大优惠
•2.1.1题目内容的描述
中国移动推出最新的手机资费优惠方案,按照这个方案Tom的手机每天消费1元,每消费K元就可以获赠1元,一开始Tom有M元,问最多可以用多少天?
输入的测试数据为一行,实例包括2个整数M,K(2<=K<=M<=1000)。
输出一个整数,表示M元可以用的天数。
•2.1.2输入数据类型、格式和内容限制和输出数据的说明
•2.1.3主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
2.1.4调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
2.2汽车加油
•2.2.1题目内容的描述
一辆汽车加满油后可行驶n公里。
旅途中有若干个加油站。
设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。
输入:
第一行有2个正整数N和K(1<=N<=100,1<=K<=100),表示汽车加满油后可行驶N公里,且旅途中有K个加油站。
接下来的1行中,有K+1个整数,表示第K个加油站与第K-1个加油站之间的距离。
第0个加油站表示出发地,汽车已加满油。
第K+1个整数表示第K个加油站与目的地的距离。
输出:
将编程计算出的最少加油次数输出。
如果无法到达目的地,则输出NoSolution。
(注意:
No和Solution之间有一个空格)。
例如:
输入:
88
323654272
输出:
5
•2.2.2输入数据类型、格式和内容限制和输出数据的说明
•2.2.3主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
•2.2.4调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
2.3金币
•2.3.1题目内容的描述
国王用金币奖励他忠诚的侍从。
第一天侍从工作结束后,国王奖励了他一个金币;接着的两天侍从工作中(第二天,第三天)的每一天,国王奖励了他两个金币;接着的三天侍从工作中(第四天,第五天,第六天)的每一天,国王奖励了他三个金币;接着的四天侍从工作中(第七天,第八天,第九天,第十天)的每一天,国王奖励了他四个金币。
这种奖励的模式将是固定不变的,即在N天侍从工作中的每一天,国王将奖励他N个金币;接着的N+1天的侍从工作中的每一天,国王将奖励他N+1个金币。
要求在给定的天数时,你的程序能够统计国王总共奖励了侍从多少金币。
•2.3.2输入数据类型、格式和内容限制和输出数据的说明
•2.3.3主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
•2.3.4调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
2.4缩印
•2.4.1题目内容的描述
你想把一张560×400的图像放到一张216×280的页面中,并且要使图像最大,你会怎么做?
你可以将图像旋转90度,然后压缩50%,图像现在的大小变为200×280。
这样就可以放入页面中!
1)输入:
输入数据包含四个用空格隔开的正整数A,B,C和D,表示图像大小是A×B,页面大小是C×D。
所有的数据都小于1000。
2)输出:
如果图像不需要压缩(可能需要旋转)则输出100%。
如果图像需要被压缩则输出最小压缩比(可能需要旋转)。
我们假定没有图像会被压缩到1%以下,所有结果为一个整型的百分比,从1%到100%。
•2.4.2输入数据类型、格式和内容限制和输出数据的说明
•2.4.3主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
•2.4.4调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
2.5小型通讯录设计
•2.5.1题目内容的描述
功能:
实现简单的通讯录信息管理,基本信息包括编号、姓名、电话、手机、邮编、地址和关系(如朋友、亲友、同事、同学等)
基本要求:
1设计简单的菜单,能够进行系统功能选择。
2实现信息的录入功能。
3在已有信息的基础上添加新的记录。
4删除指定编号的记录。
5修改指定编号的记录
6实现信息的浏览功能
7按编号查询功能
8按手机号排序功能
•2.5.2系统功能说明
–以系统功能模块结构图的方式给出
–简要的语言描述
•2.5.3输入数据类型、格式和内容限制和输出数据的说明
•2.5.4系统主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
•2.5.5调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
三、课程设计分析与总结
附录:
源程序清单
记录主要程序清单(文件名)。
⑤大优惠:
#include
voidmain()
{
intm,k,j;
intday(int,int);//*对调用的函数day的声明*//
do{
printf("请输入m和k:
");
scanf("%d%d",&m,&k);
j=day(m,k);//*调用函数day*//
printf("最多可用%d天",j);
if(k>m||k>1000||k<2||m>1000||m<2)
printf("输入有误,请重新输入\n");
}while(k>m||k>1000||k<2||m>1000||m<2);
}
intday(intm,intk)//*函数day的首部*//
{
intt,s;//*函数体*//
if(2<=k&&k==m&&m<=1000)
{
intt,s;
t=m+1;
}
if(2<=k&&k { s=m/k; t=s+m; while(s>=k) { s=s/k; t=t+s; } } return(t);//*返回t的值*// } ③汽车加油: #include voidmain() { intk,n,p,b=0,j; intnumber(int,int);//*对调用的函数number的声明*// printf("请输入汽车加满油可行驶的公里n和沿途的加油站数k: "); scanf("%d%d",&n,&k); p=number(n,k);//*调用函数number*// if(b>n) printf("Nosolution"); } intnumber(intn,intk)//*函数number的首部*// { intj=0,a[20],i,b=0;//*函数体*// for(i=0;i { scanf("%d",&a[i]); } i=2; while(b { b=b+a[i]; if(a[i] { if(b>n) { j++; b=a[i]; } if(b==n) { j++; b=0; } i++; } } while(b==n) { b=a[i]; j++; i++; } if(b>n) printf("Nosolution"); else printf("最少加油次数%d\n",j); return(j);//*返回j的值*// } ⑥金币: #include voidmain() { intt,sum,k; intmoney(int);//*对调用的函数money的声明*// printf("天数t: "); scanf("%d",&t); k=money(t);//*调用函数*// } intmoney(intt)//*函数money的首部*// { ints=0,i=0,a=0,j,sum;//*函数体*// while(a { i++; a=a+i; } if(a==t) { j=i; } if(a>t) { j=j-1; a=a-i; } for(i=0;i<=j;i++) { s=s+i*i;//*s为1^2+2^2+3^2+……+t^2的累加器*// } sum=s+(t-a)*(j+1); printf("\n%d",sum); return(sum);//*返回sum的值*// } ⑦缩印 #include #defineN4 voidmain() { inta,b,c,d,k; floatresult(int,int,int,int);//*对调用的函数result的声明*// printf("输入四个正整数: "); scanf("%d%d%d%d",&a,&b,&c,&d); k=result(a,b,c,d);//*调用函数result*// } floatresult(inta,intb,intc,intd)//*函数result的首部*// { floatmax3,min3,m;//*函数体*// intmax1,max2,min1,min2; if((((a*b)/(c*d))<1)) {printf("100%\n");} if(((a*b)/(c*d))>1) { max1=a>b? a: b; min1=a>b? b: a; max2=c>d? c: d; min2=c>d? d: c; max3=(float)max2/max1; min3=(float)min2/min1;} if(max3>min3) {m=100*min3;} else m=100*max3; printf("%.0f%\n",m); return(m);//*返回m的值*// } 题目4: 小型通讯录设计 #include #include #include #include #defineM50 typedefstruct { charnum[20];/*编号*/ charname[15];/*姓名*/ chartele[10];/*电话*/ charmobile[25];/*手机*/ charpost[30];/*邮编*/ charaddress[35];/*地址*/ charrelation[40];/*关系*/ }ADD; intenter(ADDt[]);/*输入记录*/ voidlist(ADDt[],intn);/*显示记录*/ voidsearch(ADDt[],intn);/*按序号查找显示记录*/ intdelete(ADDt[],intn);/*删除记录*/ intadd(ADDt[],intn);/*插入记录*/ voidmodify(ADDt[],intn);/*修改记录*/ voidsort(ADDt[],intn);/*按手机号排序*/ voidprint(ADDtemp);/*显示单条记录*/ intfind(ADDt[],intn,char*s);/*查找函数*/ intmenu_select();/*主菜单函数*/ main() { inti; ADDadr[M]; intlength; system("cls"); for(;;) { switch(menu_select()) { case0: length=enter(adr);break; case1: list(adr,length);break; case2: search(adr,length);break; case3: length=delete(adr,length);break; case4: length=add(adr,length);break; case5: modify(adr,length);break; case6: sort(adr,length);break; case7: exit(0); } } } menu_select() { chars[80]; intc; printf("pressanykeyentermenu......\n"); getchar(); system("cls"); printf("********************MENU*********************\n"); printf("0.Enterrecord\n"); printf("1.Listthefile\n"); printf("2.Searchrecordonnum\n"); printf("3.Deletearecord\n"); printf("4.additionrecord\n"); printf("5.Modifyrecord\n"); printf("6.sorttomakenewfile\n"); printf("7.Quit\n"); printf("***********************************************\n"); do { printf("\nEnteryouchoice(0~7): "); scanf("%s",s); c=atoi(s); }while(c<0||c>7); getchar(); returnc; } intenter(ADDt[]) { inti,n; char*s; system("cls"); printf("\npleaseinputnum\n"); scanf("%d",&n); printf("pleaseinputrecord\n"); printf("numnametelemobilepostaddressrelation\n"); printf("-----------------------------------------------------------\n"); for(i=0;i { scanf("%s%s%s%s%s%s%s",t[i].num,t[i].name,t[i].tele,t[i].mobile,t[i].post,t[i].address,t[i].relation); printf("------------------------------------------------------------\n"); } getchar(); returnn; } voidlist(ADDt[],intn) { inti; system("cls"); printf("\n\n*********************************ADD**************************\n"); printf("numnametelemobilepostaddressrelation\n"); printf("-----------------------------------------------------------\n"); for(i=0;i printf("%-20s%-15s%-10s%-25s%-30s%-35s%-40s\n",t[i].num,t[i].name,t[i].tele,t[i].mobile,t[i].post,t[i].address,t[i].relation); if((i+1)%10==0) { printf("Pressanykeycontinue...\n"); getchar(); } printf("************************end*******************\n"); } voidsearch(ADDt[],intn) { chars[20]; inti; system("cls"); printf("pleasesearchnum\n"); scanf("%s",s); i=find(t,n,s); if(i>n-1) { getchar(); printf("notfound\n"); } else { getchar(); print(t[i]); } } voidprint(ADDtemp) { system("cls"); printf("\n\n*****************************************************\n"); printf("numnametelemobilepostaddressrelation\n"); printf("-----------------------------------------------------------------\n"); printf("%-20s%-15s%-10s%-25s%-30s%-35s%-40s\n",temp.num,temp.name,temp.tele,temp.mobile,temp.post,temp.address,temp.relation); printf("***********************************end****************************\n"); } intfind(ADDt[],intn,char*s) { inti; for(i=0;i { if(strcmp(s,t[i].num)==0) returni; } getchar(); returni; } intdelete(ADDt[],intn) { chars[20]; intch=0; inti,j; printf("pleasedeletednum\n"); scanf("%s",s); i=find(t,n,s); if(i>n-1) printf("nofoundnotdeleted\n"); else { print(t[i]); printf("Areyousuredeleteit(1/0)\n"); scanf("%d",&ch); if(ch==1) { for(j=i+1;j { strcpy(t[j-1].num,t[j].num); strcpy(t[j-1].name,t[j].name); strcpy(t[j-1].tele,t[j].tele); strcpy(t[j-1].mobile,t[j].mobile); strcpy(t[j-1].post,t[j].post); strcpy(t[j-1].address,t[j].address); strcpy(t[j-1].relation,t[j].relation); } n--; } } getchar(); returnn; } intadd(ADDt[],intn) { ADDtemp; inti,j; chars[20]; printf("pleaseinputrecord\n"); printf("******************************************************************\n"); printf("numnametelemobilepostaddressrelation\n"); printf("--------------------------------------------------\n"); scanf("%s%s%s%s%s%s%s",temp.num,temp.name,temp.tele,temp.mobile,temp.post,temp.address,temp.relation); printf("------------------------------------------------------------------\n"); printf("pleaseinputlocatenum\n"); scanf("%s",s); i=find(t,n,s); for(j=n-1;j>=i;j--) { strcpy(t[j+1].num,t[j].num); strcpy(t[j+1].name,t[j].name); strcpy(t[j+1].tele,t[j].tele); strcpy(t[j+1].mobile,t[j].mobile); strcpy(t[j+1].pos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 课程设计 报告 格式