C程序设计书面作业
C语言程序设计大作业

C语言程序设计大作业理论课综合训练任课教师:□□□学生学号:□□□□□□□□□□学生姓名:□□□所在班级:□□□□□□□项目名称:□□□□□□□□□□---------------------------------------------------------教师评语(总分20分):(1)基本要求(12分):(2)创新点(2分):(3)实用性(2分):(4)技术水平(2分):(5)卷面综合(2分):教师签名:2022年6月10日一、项目简介本项目所完成的功能包括求三角形面积、一元二次方程求根和排序,是学习生活中的常用计算工具,具有很强的实用性。
本程序包括5个函数模块,在主函数中实现了菜单功能,在窗口菜单提示下,选择数字键完成所需功能,方便用户操作。
j某mj()是求三角形面积函数模块,键盘输入三角形三边之长a、b、c,根据下面公式计算三角形面积。
p=(a+b+c)/2=p(pa)(pb)(pc)如果两边之和大于第三边不成立,输出错误信息。
root()是一元二次方程求实根模块,键盘输入二次项系数a、一次项系数b、常数项c,根据下面公式计算两个实根。
bb24ac某12=2a如果b-4ac<0,输出无实根信息。
pai某u()是排序函数模块,主要读写磁盘文件数据。
程序运行前,必须先在工作区文件夹(或运行程序文件所在文件夹)建立一个文本文件inpai某u.t某t,文件中输入不超过100个整数,数据之间用空格或用回车换行符间隔。
排序结果输出在文本文件outpai某u.t某t中。
myort()是冒泡法排序模块,pai某u()函数是本函数的调用函数,所用算法为冒泡排序算法。
2二、运行测试结果(1)求三角形面积在窗口菜单提示下选择数字键1输入三边之长(用逗号间隔):3,4,5<Enter>=6.000000再次测试输入三边之长(用逗号间隔):1,2,3<Enter>输入数据错误!!!(2)求一元二次方程实根在窗口菜单提示下选择数字键2,分别进行两组测试。
C语言程序设计作业样板

《C语言程序设计》作业(1)软件功能说明1.学生查询功能:为了方便学生查找成绩等信息,将所有信息按照需要进行分类。
这样学生能很方便的找到自己所需要的信息。
2.管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。
3.添加功能:管理员可以通过填写表格的形式输入学生成绩等相关信息。
4.修改功能:管理员可以对数据库中的信息进行修改。
系统能通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
5.删除功能:管理员可以对数据进行删除操作。
系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把数据库中相关信息删除。
6.汇总功能:管理员可以通过此功能对信息进行汇总。
7.统计功能:管理员可以通过此功能对信息进行统计。
(2)软件结构图和流程图(3)测试数据截图并对图加以说《一》输入学生信息(学号,姓名,各科的成绩)《二》编译成功进入主菜单:《三》选择1对学生的成绩求总分,平均分:《四》选择2对学生信息排序《五》选择3输入要查找的学生的姓名(这里找的是zj)《六》选择4求各科成绩的最高分和最低分的学生的信息:(4)软件代码#include "stdio.h"#include "stdio.h"#define m 5void search(); /*声明按姓名查找学生的信息*/void ave(); /*声明turn out average*/void paixu(); /* 声明score pai mingci*/void maxandmin(); /*声明maxandmin score student's number,name and every course score*/struct student /*声明define a struct*/{int num; /*student’s number */char name[10];int math,english,chinese; /*three course score*/int no; /* student mingci*/float sum;float ave;}stu[m];main(){int i;int q=0,p;for(i=0;i<m;i++){printf("num:");scanf("%d",&stu[i].num);printf("name:");scanf("%s",stu[i].name);printf("input score:");scanf("%d,%d,%d",&stu[i].math,&stu[i].chinese,&stu[i].english);printf("\n");}system("cls");while(q==0){printf("\n");printf("1 find average score\n");printf("2 find sum score paiming\n");printf("3 find student name output about student message\n");printf("4 find the max score and min score student's message\n");printf("other number exit!\n");printf("\n");printf("please input number:\n");scanf("%d",&p);switch(p) /*用开关语句SWITCH进行选择*/{case 1:ave(stu); break; /*选择1,求平均分*/case 2:paixu(stu); break; /*选择2,求总分按降序排列*/case 3:search(stu,m); break; /*选择3,求按姓名查找学生的信息*/ case 4: maxandmin(stu,m); break; /*选择4,求各科的最高分和最defult :q=1;exit(0);}}getch();}void ave(struct student stu[]) /*求学生的平均分*/{int i;printf("1 find aveage score:\n");printf("num\tname\tsum\tave\n");for(i=0;i<m;i++) /*通过循环语句求学生的总分和平均分*/{ stu[i].sum=0;stu[i].sum+=stu[i].math;stu[i].sum+=stu[i].chinese;stu[i].sum+=stu[i].english;stu[i].ave=stu[i].sum/3;printf("%d\t%s\t%.0f\t%.1f\n",stu[i].num,stu[i].name,stu[i].sum,stu[i].ave); }}void paixu(struct student stu[]) /*sum score line*/{int i,j,a; float t; char b[10];printf("2 find sum score paiming\n");for(i=0;i<m;i++)stu[i].no=i+1; /*gei mingci fu chuzhi*/for(i=0;i<m-1;i++)for(j=i+1;j<m;j++)if(stu[i].sum<stu[j].sum){a=stu[i].num;stu[i].num=stu[j].num;stu[j].num=a;t=stu[i].sum;stu[i].sum=stu[j].sum;stu[j].sum=t;strcpy(b,stu[i].name);strcpy(stu[i].name,stu[j].name);strcpy(stu[j].name,b); /*运用字符串复制函数交换学生的姓名*/ }printf("num\tname\tsum\tno\n");for(j=0;j<m;j++){ printf("%3d\t%s\t",stu[j].num,stu[j].name);printf("%.0f",stu[j].sum);printf("\t%d\n",stu[j].no);}}void search(struct student stu[]) /*search student's name*/{int i;char n[10];printf("3 find student name output about student message\n");printf("input name:\n");scanf("%s",n);for(i=0;i<m;i++) /*use “for circulation” search student’s name*/if(strcmp(n,stu[i].name)==0) /*用字符串比较函数进行比较*/{printf("num\tname\tsum\tave\tmath\tchinese\tenglish\n");printf("%d\t%s\t%.0f\t%.1f",stu[i].num,stu[i].name,stu[i].sum,stu[i].ave);printf("\t%d\t%d\t%d",stu[i].math,stu[i].chinese,stu[i].english);break; /*分别输出要查找的学生的学号,姓名,总分,平均分,和各科的成绩*/ }}Void maxandmin(struct student stu[])/*输出各科学生的最高分和最低分*/{int i,a=0,b=0,c=0,d=0,e=0,f=0;int maxm,maxc,maxe,minm,minc,mine;printf("4 find the max score and min score student's message\n"); for(i=0;i<m;i++){if(stu[a].math<stu[I ].math) a=i;maxm=stu[a].math;if(stu[b].math>stu[i].math) b=i;minm=stu[b].math;if(stu[c].chinese<stu[i].chinese)c=i;maxc=stu[c].chinese;if(stu[d].chinese>stu[i].chinese)d=i;minc=stu[d].chinese;if(stu[e].english<stu[i].english)e=i;maxe=stu[e].english;if(stu[f].english>stu[i].english)f=i;mine=stu[f].english;}printf("the max score\n\nnum\tname\tmath\tchinese\tenglish:\n"); printf("%d\t%s\t%d\n",stu[a].num,stu[a].name,maxm);printf("%d\t%s\t\t%d\n",stu[c].num,stu[c].name,maxc);printf("%d\t%s\t\t\t%d",stu[e].num,stu[e].name,maxe);printf("\n");printf("the min score \n\nnum\tname\tmath\tchinese\tenglish:\n"); printf("%d\t%s\t%d\n",stu[b].num,stu[b].name,minm);printf("%d\t%s\t\t%d\n",stu[d].num,stu[d].name,minc);printf("%d\t%s\t\t\t%d",stu[f].num,stu[f].name,mine);}。
C程序设计作业样本

第一章作业答案:一,59,14.4,28.e二1小题,592,15一、将数89、20.25、40.875用十六进制表达二、填空1.在C语言中,数值常量0x3b十进制值是。
2.字母f ASCII码为十进制数___________。
第三章作业一、选取题:1、下列变量名中, B 是非法。
A) Tom B) 3n C) little_boy D) c102、若有如下类型阐明char a; int b; float c; double d;则表达式a*b+d-c成果类型是(A )A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25成果及x值分别是(C )对的答案是100,45A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)值是 C 。
A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2值为 C 。
A) 12 B) 11 C)不拟定值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标记符字符有( C )A下划线B %C数字D字母8、下面四个选项中,均是合法整型常量是(D )A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4值为( C )A. 20B.22C. 24D. 44第四章作业一、选取题1、若x为int型变量,则执行如下语句后x= C 。
C程序设计语言书面作业作业题(3)

C语言书面作业(三)一、选择题1.写出下面程序段的输出结果。
main(){ int x=2;while(x--);printf(“%d\n”,x);}2.下面程序的输出结果是__________。
main(){int i;for (i=0;i<10;i++);printf (“%d,i);}A) 0 B) 123456789 C) 023456789 D) 103.下面程序段的运行结果为_______for (i=1; ++i<4;);printf(“%d\n”,i);A) 3 B) 4 C) 5 D) 不定4.在执行以下程序时,如果从键盘上输入ABCdef后回车,则输出_____ #include<stdio.h>main( ){char ch;while((ch=getchar())!=‘\n’){ if (ch>=‘A’&&ch<=‘Z’) ch=ch+32;else if (ch>=‘a’&&ch<=‘z’) ch=ch-32;printf(“%c”,ch);}printf(“\n”);}A) ABCdef B) abcDEF C) abc D) DEF5.下列程序段中,不是死循环的是________A) int i=100; while(1){ i=i%100+1;if (i>100) break; }B)int k=0;do{++k;} while (k>=0);- 1 -C) for (;;); D)int s=3379;while (s++%2+s%2)s++;6.以下程序的输出结果是__________main( ){int a,b;for (a=1,b=1;a<=100;a++){if (b>=10 ) break;if (b%3==1){b+=3; continue;}}printf(“%d\n”,a);}A) 101 B) 6 C) 5 D) 47.执行以下程序时,为了使输出结果为t=4。
c程序设计大作业(范例)

课程设计说明书《C 程序设计大作业》 ——学生成绩管理系统班 级: 电信2009级集成班 学 生: 陈颖宏 学 号: ************ 序 号: 提交日期: 2010 年 3 月 27 日成绩评定:分 任课教师签名: 年月 日前言本课程设计题目是“学生成绩管理系统设计”,其内容是设计一个使用二进制文件方式存储数据,并且以菜单方式工作的管理系统。
设计目的是设计一个能够方便、直观地管理学生相关信息的系统。
该系统可以实现以下功能:○1能按学期、按班级完成对学生成绩的录入、修改;○2能按班级统计显示的成绩,计算学生的总分及平均分;○3能查询学生的成绩,不及格科目及学生名单;○4能按班级输出学生的成绩单。
正文1.需求分析:本程序主要用于输入、查询、统计、导入以及导出学生的成绩。
主要的输入方式是利用键盘输入,且输入的字符最好是英文及数字,输入中文时有时会出现错误。
程序的有效窗口大小一般为半个屏幕,以至于有些功能的版面出现显示方面的错误。
经测试,程序基本可以正常工作:当在主菜单输入“1”时,可以正常初始化,输入余下的菜单选项时也能按要求跳转到指定画面;各子菜单选项也都能正常运行;但是输入班级、姓名等字符时,有时会显示错误的字符。
2概要设计○1抽象数据类型的定义:学生结构体定义为struct stu,变量为student;学期数组定义为char term[7]; 班别数组定义为char banbie[20]; 学号数组定义为char no[15]; 姓名数组定义为char name[20]; 科目数组定义为int score[MAXSUB]; 总成绩变量定义为int sum; 平均成绩变量定义为float average。
○2抽象函数类型的定义:菜单选择程序“menu_select()”为int型; 初始化函数“initialize(student * [])”为void型;数据输入函数“input(student * [])”为void型;数据编辑函数“editmenu(student * [])”为void型; 数据查询查询函数“searchmenu(student * [])”为void型; 数据统计函数“total(student * [])”为void型; 数据导出函数“save(student * [])”为void型;数据导入函数“load(student * [])”为void型; 数据导出函数“output(student * [])”为void型;添加学生记录函数“add_record(student * [])”为void型;删除学生记录“delete_record(student * [])”为void型;修改学生记录函数“student * edit_record(student * [])”为void型;按学号查询函数“student * no_search(student * [])”为void型; 按姓名查询函数“student * name_search(student * [])”为void型。
C语言程序设计”平时作业

C语言程序设计”平时作业C语言程序设计是计算机科学的基础课程之一、通过学习C语言,我们能够更好地理解计算机的运行原理,掌握编程的基本思想和方法,提高解决问题的能力。
在这门课程中,老师布置了一系列的平时作业,以帮助我们巩固所学的知识。
以下是我完成的一些平时作业。
1.输入输出练习这个作业要求我们使用scanf函数输入三个整数,并计算它们的和与平均值,然后使用printf函数输出结果。
我首先使用scanf函数依次输入三个整数,然后定义一个变量sum,将三个整数相加赋值给sum。
接着,我定义一个变量average,使用sum除以3的结果赋值给average。
最后,我使用printf函数按照题目要求输出结果。
2.控制语句练习这个作业要求我们使用if语句,判断一个数是否为偶数。
我首先使用scanf函数输入一个整数,然后使用if语句判断该数是否为偶数。
如果该数除以2的余数为0,则输出该数为偶数,否则输出该数为奇数。
3.循环语句练习这个作业要求我们使用while循环,计算1到100的和。
我首先定义一个变量sum,并初始化为0。
然后,使用while循环,将1到100之间的每个数依次相加,将结果赋值给sum。
最后,使用printf函数输出sum的值。
4.数组练习这个作业要求我们创建一个数组,存储5个学生的成绩,并计算它们的平均值。
我首先定义一个长度为5的整型数组grades,并使用scanf函数依次输入每个学生的成绩。
然后,定义一个变量sum,并初始化为0。
使用for循环,将每个学生的成绩依次相加,将结果赋值给sum。
最后,定义一个变量average,将sum除以5的结果赋值给average。
使用printf函数输出average的值。
通过完成这些平时作业,我更加熟悉了C语言的基本语法和常用函数,学会了使用输入输出函数、控制语句以及循环语句解决问题。
这些练习帮助我加深对C语言的理解,提高了我的编程能力。
在以后的学习中,我将继续努力,不断提升自己的编程水平。
c程序设计课程设计作业

c程序设计课程设计作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段等数据结构,以及文件操作、调试技巧等编程实践知识。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、创新意识和团队合作能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:顺序结构、选择结构、循环结构等。
3.函数:函数的定义和声明、参数传递、返回值、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、字符串、指针的概念和应用等。
5.数据结构:结构体、共用体、位字段、链表、栈和队列等。
6.文件操作:文件的打开、关闭、读写、定位等操作。
7.编程实践:调试技巧、代码优化、算法分析等。
三、教学方法为了达到教学目标,本课程将采用以下几种教学方法:1.讲授法:通过讲解和演示,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:安排上机实验,让学生动手编写程序,培养编程能力和实践能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的创新意识和团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线课程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)、网络资源等。
C语言程序设计作业

《C 语言程序设计》作业作业一1.判断下列标识符是否合法?f(x) $a21 a12 A21 21a sum2 while _fun C_program tan@2.模仿教材p4的例1.1编写程序并上机调试:计算i ×j 的积,在屏幕上显示结果。
作业二1. 指出下列哪些为C 语言正确的整型(int)常量、实型(float)常量、字符型(char)常量? 0 67326 -325 128 0128 03456 …b‟ …ab‟ …勤‟ …\104‟ …\108‟ …\n‟ …8‟ 1.234×103 0.0 2. 1.2e-3 1.2 e0.5 1.2e 5e22.P119: 2.7 (1), (2) , (4), (5),(9),(11),(12)3.将下列式子写成C 的表达式。
Y=sin2x+a ab ab ba 2211+++ 4.设m 为整数,用逻辑表达式表示:能同时被3与7整除或者被5除余2且小于100的整数。
作业三1.华氏温度通过公式C=95 (f-32) 转换成摄氏温度。
试编程并上机调试运行:从键盘上输入华氏温度,利用公式计算后输出摄氏温度(要求:保留一位小数;记录调试过程中遇到的问题及解决方法)。
2.分别用分if 语句与switch 语句编程求下列函数的值。
|x| x <0x 0 ≤x<10Y= 3-51x 10≤x<20 3x-10 20≤x<400 x >403. P123: 3.154. 输入一个含括号的算术表达式 如3(a+b )/3) ,判断括号的匹配情况,并输出相应信息:匹配、缺(、少)等。
5.要将100圆大钞的换成1圆、5圆、10圆小钞,若每种钞票数目大于0,共有多少种换法?并输出各种换法(每行显示4组)。
6.在横线上填写合适语句,完善程序,使之完成如下功能:从键盘上输入一个不多于7位的正整数,统计其中2的个数,并求各位数字中的最小数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 程序设计
第七章习题
1、分析并写出下面程序的运行结果。
#include “stdio.h”
int Square(int i){
return i*i;
}
int main(){
int i=0;
i=Square(i);
for( ; i<3;i++){
static int i=1;
i+=Square(i);
printf(“%d,”,i);
}
printf(“%d\n”,i);
return 0;
}
2、用全局变量模拟编程显示一个数字式时钟,然后上机验证。
#include <stdio.h>
int hour,minute,second; /*定义全局变量*/
void update(){
seconde++;
if(second==60){
①
minute++;
}
if( ②){
minute=0;
hour++;
}
if(hour==24)
③;
}
void display(){
printf(“④“,hour,minute,second);
}
void delay(){
int t;
for(t=0;t<10000000; t++); /*用循环体为空语句的循环实现延时*/
}
int main(){
int i;
⑤ ;
for(i=0;i<10000000;i++){ /*利用循环结构控制时钟运行的时间*/
update(); /*更新时、分、秒显示值*/
display(); /*显示时、分、秒*/
delay(); /*模拟延迟时间为1秒*/
}
return 0;
}
3、用函数编程计算两整数的最大值,在主函数中调用该函数计算并输出从键盘输入的两整数的最大值。
4、请分别用以下三种方法编写计算最大公约数的函数Gcd(),在主函数中调用该函数计算并输出从键盘任意输入的两整数的取大公约数。
(1)穷举法。
由于a和b的最大公约数不可能比a和b中的较小都还大,否则一定不能整除它,因此,先找出a和b中的较小者,然后从该数开始逐次减1尝试每种可能,即检验该数到1的所有整数,第一个满足公约数条件的值就是a和b的最大公约数。
(2)欧几里得算法,也称辗转相除法。
对正整数a和b,连续进行求余运算,直到余数为0为止,此时非0的除数就是最大公约数。
(3)递归方法。
对正整数a和b,当a>b时,若a中含有与b相同的公约数,则a中去掉b后剩余的部分a-b中也应含有与b相同的公约数,对a-b和b计算公约数就相当于对a和b计算公约数。
反复使用最大公约数的如下3条性质,直到a和b相等为止,这时a或b就是它们的取大公约数。
性质1 如果a>b,则a和b与a-b和b的最大公约数相同,即Gcd(a,b)=Gcd(a-b,b).
性质2 如果b>a,则a和b与a和b-a的最大公约数相同,即Gcd(a,b)=Gcd(a,b-a).
性质3 如果a=b,则a和b的最大公约数与a值和b值相同,即Gcd(a,b)=a=b.
5、编写一个递归函数,用以实现从1到n这n个数的累加和。
6、编写一个递归函数,用以实现n的阶乘。
7、中国古代民间有一个游戏:两个人从1开始轮流报数,每人每次可以报一个数或两个连续的数,谁先报到30,谁为胜方。
若要改成游戏者与计算机做这个游戏,则首先需要决定谁先报数,可以通过生成一个随机整数来决定计算机和游戏者谁先报数。
计算机报数的原则为:若剩下数据的个数除以3,余数为1,则报1个数,若剩下数除以3,余数为2,则报2个数,否则随机报1个或2个数。
游戏者通过键盘输入自己报的数,所报的数必须符合游戏的规则。
如果计算机和游戏者都未报到30,则可以接着报数。
先到到30的一方为胜。
请
编程实现这个游戏,看一看游戏者和计算机谁能获胜。