C程序设计书面作业
- 格式:doc
- 大小:26.00 KB
- 文档页数:3
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语言程序设计》作业(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);}。
第一章作业答案:一,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语言书面作业(三)一、选择题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 程序设计大作业》 ——学生成绩管理系统班 级: 电信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语言,我们能够更好地理解计算机的运行原理,掌握编程的基本思想和方法,提高解决问题的能力。
在这门课程中,老师布置了一系列的平时作业,以帮助我们巩固所学的知识。
以下是我完成的一些平时作业。
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程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面: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 语言程序设计》作业作业一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.题目:将任一—32768~32767之间的整数转换为16位二进制形式。
要求:至少有一个main()和convert()函数等两个以上函数,其中convert()为转换函数;而且能够连续转换,一直到用户按ESC键结束.2.题目分析与算法:S1:输入—32768~32767之间的整数xS2:调用conxert函数对其逐个进行处理S3:将x与pow(2,a),x>=pow(2,a),m[n]=1;反之m[n]=0S4:输出m[n]3.C源程序清单:#include <stdio.h〉#include <conio。
h〉#include <math。
h〉void main(){int x;//输入的字符串int m[30]={0},n=0;int a=15;char y;int conxert(int b,int a);printf("将任一(-32768~32767)之间的整数转换为16位二进制形式!\n");printf(”请输入一个(-32768~32767)整数:\n");while(y=getch()!=27){scanf(”%d”,&x);m[n]=conxert(x,a);}}int conxert(int b,int a) //b为整数,a为1~15的值{int t[30]={0},k; //t为输出for(a=15,k=0;a〉=0,k<16;a-—,k++){if (b>=pow(2,a)){t[k]=1;b=(int)(b-pow(2,a));if (b==0) break;}elset[k]=0;}for(k=0;k<16;k++)printf(”%d”,t[k]);printf(”\n”);return b;}。
书面作业1(数据类型、变量、输入/输出、运算符与表达式、选择结构、循环结构)一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ] (F )1. C语言程序中,注释越多越好。
(F )2. C语言程序中的注释,不会影响程序的执行速度。
(F )3. C语言规定,在一个源程序中,main函数的位置必须在最开始。
(F )4. 标识符中可以出现下划线,但它不可以放在标识符的开头。
(F )5. C语言规定标识符只能由字母、数字和小数点三种字符组成。
(T )6. unsigned 和void 在C语言中都是保留字。
(F )7. 在C语言中,变量名越短越好。
(F )8. 在C语言中,使用短的变量名可以节省程序执行时的内存消耗。
(F )9.字符型变量用来存放字符常量,且只能存放2个字符。
(T )10. printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。
(F )11. scanf函数是一个标准库函数,它的函数原型在头文件string.h中。
(F )12. printf 是C 语言的输出语句。
(T )13. 在printf 函数中,输出项可以是任意合法的表达式。
(T )14. C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
(T )15. C语言中,整型数运算速度快,没有误差,应该优先使用。
(T )16. C语言中,浮点数运算存在误差。
不宜使用浮点数做相等运算。
(F )17. C语言中,不允许将一个浮点数赋值给一个整型变量。
(F )18. C语言中,不能将整数值赋值给一个字符型变量。
(F )19. C语言中,不能将一个字符常数赋值给一个整型变量。
(F )20. C语言中,不同类型的数据对象不能出现在一个表达式中。
(F )21. C语言中可以把一个字符串赋给一个字符变量。
(T )22. 在C语言中,模运算(相除后取余数,运算符%)要求参加运算的数必须是整型。
《程序设计基础(C语言)》课程设计说明书学院:班级:学号:姓名:教师:日期: 2012年6月 26 日题目名称:抛物线轨迹计算器一、设计要求设计一个抛物线计算器,能够计算抛物线的各种参数。
1、输入物体的初始速度(v〉0);初始速度方向(-90——90度);初始高度(h>=0);输入重力加速度;计算落地时间;落地时速度的大小;速度的方向;落地点距离抛物点的垂直距离;运动过程中最高点的速度;最高点距离地面的距离。
2、输入一个任意时间,能够计算此时物体所在的位置,速度的大小以及速度的方向。
3、能够将抛物线的轨迹打印出来,能够打印出横纵座标,纵坐标为高度,横坐标为距离和时间。
4、能够将抛物线各种信息(包括运动轨迹)存储在文件中。
5、能够回放上一次的抛物线的信息及轨迹。
6、特别附加功能,能够动态显示抛物线的运动轨迹。
二、算法分析:页面640X480,图形布局400X400,先画抛物线,再画坐标轴;确定初始数据高度h, 初速度v1(v1>0) , 初始角度a(-90<a<90);计算落地速度v2=sqrt(v1*v1+2*g*h),落地时间T=(v1*sin(a)+v2*sin(B))/g落地距离S=v1*cos(a)*T,落地角度余弦值cosB=(v1*sin(a))/v2,最大高度h_max=h+v1*v1*sin(a)* sin(a)/2g,任意时刻高度h_t=h+v1*sin(a)*t-g*t*t/2,用graphics函数绘制抛物线。
用initgraph这个函数用于初始化绘图环境。
HWND initgraph(int Width,int Height,int Flag = NULL);InputBox这个函数用于以对话框形式获取用户输入。
Setbkcolor、setcolor这个函数用于设置当前绘图背景色。
void setbkcolor(COLORREF color);fillpoly函数画填充多边形即坐标轴箭头。
2.12写出以下表达式的求值结果。
设int a=3,b=-2,c=4,d=0;(6) 012<<3+1 (15) a&b|c^++d>>1 (19) 10&6|5&&a3.10 以下程序的功能是输入10个字符,如果输入的是数字字符0,则输出字符*;如果是数字字符1~9,则原样输出;如果输入的是其他字符侧不输出,但要求用变量s累加计算它们的ASCII码平方和。
全部字符输入结束后,输出s的值。
有的同学写了一个程序,编译完全正确,但无法得到所要求的结果,请帮助这位同学改正程序中的问题。
#include<stdio.h>main(){ char c,i,s;for(i=1;i<10;i++);{ c=getchar();if(…1‟<=c<=…9‟)putchar(c);if(c=…0‟)putchar(…*‟);else s=c*c;printf(“\ns=%d\n”,s);}}3.11 编写一个程序,使它能够将用户输入的4个整数按大小次序排列。
main(){ int a,b,c,d,t;scanf(“%d, %d, %d, %d”,&a, &b, &c, &d);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(a<d){t=a;a=d;d=t;}if(b<c){t=b;b=c;c=t;}if(b<d){t=b;b=d;d=t;}if(c<d){t=c;c=d;d=t;}printf(“%d, %d, %d, %d”, a, b, c, d);}3.12 企业放发的资金根据利润提成。
设企业的利润为I,提成标准如下:I<=10万元时,提成10%;10万元<I≤20万元时,低于10万元部分仍按10%提成,高于10万元部分按7.5%提成;20万元< I≤40万元时,低于20万元部分按前面方法提成,高于20万元部分按5%提成;40万元< I≤60万元时,低于40万元部分按前面方法提成,高于40万元部分按3%提成;60万元< I≤100万元时,低于60万元部分按前面方法提成,高于60万元部分按1.5%提成;100万元<I时,低于100万元部分按前面方法提成,高于100万元部分按1%提成。
南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。
(4)学生信息的浏览及排序(冒泡排序算法)。
(5)学生成绩的录入、修改。
(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。
《C程序设计》第一次交作业(第3章结构化程序设计)一、作业内容1.使用if语句编制一个“判断体重是否标准”的程序。
(存放的文件名为31.c或31.cpp)判断体重标准方法是:(1)男性标准体重=(身高-100)×0.9女性标准体重=(身高-100)×0.9-2.5(2)体重指数BMI = 体重÷(身高×身高)*10000(3)正常体重:标准体重±10%(含10%);偏瘦:小于标准体重10%以上;超重:大于标准体重10%~20%(含20%);轻度肥胖:大于标准体重20%~30%(含30%);中度肥胖:大于标准体重30%~50%(含50%);重度肥胖:大于标准体重50%以上。
要求:输入性别、身高(厘米,要求100厘米以上)和体重(公斤),输出标准体重、体重指数以及是否达标。
2.使用switch语句编制一个“计算个人所得税”的程序。
(存放的文件名为32.c或32.cpp)个人所得税 = 应税金额×适用税率-速算扣除数。
应税金额适用税率速算扣除数(0,500)5% 0[500,2000)10% 25[2000,5000)15% 125≥5000 20% 375要求:输入应税金额,输出应交的个调税金额。
3.小明今年5岁,他爸爸37岁,他妈妈30岁,请问他爸爸妈妈年龄之和是小明的5倍是否可能会出现,如果出现应该在几年后?(存放的文件名为33.c或33.cpp)要求:在100年内,如果能满足条件的将显示过多少年满足此条件,如果不能满足条件的将显示“在100年内无解!”。
4.输入整数n,分别用for语句和while或do while语句,求n!。
(存放的文件名为341.c /342.c或341.cpp/342.cpp)二、交作业时间4月16日前。
三、交作业的方法使用现代教育技术中心提供的虚拟磁盘方法,保存的虚拟磁盘名为C3。
说明:只要提交扩展名为.c或.cpp文件即可。
C语言程序设计-作业集C语言是一种广泛使用的计算机编程语言,它提供了丰富的函数库和语法结构,可以用来开发各种类型的应用程序。
作为学习编程的入门语言,C语言是必须掌握的基础知识之一。
本文将为您提供一些C语言程序设计的作业题目,旨在帮助您巩固和提升对C语言的理解和运用。
作业一:计算圆的面积题目描述:编写一个C程序,输入圆的半径,计算并输出圆的面积。
解题思路:首先,定义一个浮点型的变量用来存储圆的半径。
然后,根据圆的面积公式计算出面积,并将结果输出。
代码示例如下:```c#include <stdio.h>#define PI 3.14159int main() {float radius;float area;printf("请输入圆的半径:");scanf("%f", &radius);area = PI * radius * radius;printf("圆的面积为:%.2f\n", area);return 0;}```作业二:查找最大值和最小值题目描述:编写一个C程序,输入一组整数,然后查找并输出这组整数中的最大值和最小值。
解题思路:首先,定义一个整型数组用来存储输入的整数。
然后,利用循环结构和条件语句找到数组中的最大值和最小值,并将结果输出。
代码示例如下:```c#include <stdio.h>#define SIZE 10int main() {int numbers[SIZE];int i;int max, min;printf("请输入一组整数:");for (i = 0; i < SIZE; i++) {scanf("%d", &numbers[i]);}max = numbers[0];min = numbers[0];for (i = 1; i < SIZE; i++) {if (numbers[i] > max) {max = numbers[i];}if (numbers[i] < min) {min = numbers[i];}}printf("最大值为:%d\n", max); printf("最小值为:%d\n", min); return 0;}```作业三:判断素数题目描述:编写一个C程序,输入一个正整数,判断该数是否为素数。
第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
书面作业_7请按下列要求,编写相应程序:1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。
#include<stdio.h>int main(){int arr[10]={34,91,83,56,29,93,56,12,88,72};int row=0,i,min;min=arr[0];for(i=0;i<10;i++)if(arr[i]<min){min=arr[i];row=i;}printf("min=%d,row=%d\n",min,row);return 0;}2、用rand()函数产生个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。
(提示:统计次数用一维数组来存放)3、将数组中的数按颠倒的顺序重新存放。
在操作时,只能借助一个临时存储单元而不得另外开辟数组。
注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。
假定a 数组有8个元素,原始内容如表-1所示:表-1 数组a 原来的内容现要求改变成如表-2所示:表-2 重新排列后的数组aC 语言程序设计LL1007 江立书面作业_8请按下列要求,编写相应程序:1、先分别定义两个元素个数分别为41和21的字符数组str1、str2,然后从键盘上输入两个长度不超过20的字符串分别存放到str1、str2中,再将str2内容连接到str1尾部(不使用strcat()函数),最后输出str1的字符串内容。
2、从键盘上输入一个字符串,假定字符串的长度小于200,试分别统计每一种英文字母(不区分大、小写)的个数并输出。
3、假定电文的译码规律如下:A→Z(a→z),B→Y(b→y),C→X(c→x),…,Z→A(z→a)。
要求编写程序,能实现将原文翻译成密码,或将密码翻译成原文的功能。
原文或密码内容从键盘输入,其所属类型(指原文或密码)也由键盘输入,0代表原文,1代表密码。
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的一方为胜。
请
编程实现这个游戏,看一看游戏者和计算机谁能获胜。