2024年9月c语言程序设计2021年版答案(求《C语言程序设计基础》的课后习题答案)
⑴c语言程序设计年版答案(求《C语言程序设计基础》的课后习题答案
⑵求《C语言程序设计基础》的课后习题答案
⑶大学学习资料免费下载网有类似资料在其他公共课程版块标题:陈东方C语言程序设计基础实验与题解(答案中国物联网校企联盟技术部
⑷c语言程序设计答案编程实现,从键盘输入一个字符,则输出其后的字符,如输入‘A’则输出‘B’
⑸#define_CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
⑹#include《stdio.h》
⑺voidmain()
⑻chara;//定义一个字符
⑼printf(“请输入一个字符:“);//文字提示
⑽scanf(“%c“,&a);//输入一个字符
⑾printf(“其后续字符为:“);//文字提示
⑿printf(“%c
⒀“,a+);//输出其之后的字符
⒁在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示和,例如,像a、b、c、d这样的个字母(包括大写以及、等数字还有一些常用的符号(例如*、#、等在计算机中存储时也要使用二进制数来表示。
⒂而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码,而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
⒃ASCII码使用指定的位或位二进制数组合来表示或种可能的字符。标准ASCII码也叫基础ASCII码,使用位二进制数(剩下的位二进制为来表示所有的大写和小写字母,数字到、标点符号,以及在美式英语中使用的特殊控制字符。其中:
⒄~及(共个)是控制字符或通信专用字符(其余为可显示字符,如控制符:LF(换行、CR(回车、FF(换页、DEL(删除、BS(退格)、BEL(响铃等;
⒅通信专用字符:SOH(文头、EOT(文尾、ACK(确认等;ASCII值为、、和分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
⒆~(共个)是字符(是空格,其中~为到十个阿拉伯数字。
⒇~为个大写英文字母,~号为个小写英文字母,其余为一些标点符号、运算符号等。
⒈同时还要注意,在标准ASCII中,其最高位(b)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
⒉奇校验规定:正确的代码一个字节中的个数必须是奇数,若非奇数,则在最高位b添;
⒊偶校验规定:正确的代码一个字节中的个数必须是偶数,若非偶数,则在最高位b添。
⒋后个称为扩展ASCII码。许多基于x的系统都支持使用扩展(或“高”ASCII。扩展ASCII码允许将每个字符的第位用于确定附加的个特殊符号字符、外来语字母和图形符号
⒌常见ASCII码的大小规则:~《A~Z《a~z。
⒍数字比字母要小。如“”《“F”;
⒎数字比数字要小,并按到顺序递增。如“”《“”;
⒏字母A比字母Z要小,并按A到Z顺序递增。如“A”《“Z”;
⒐同个字母的大写字母比小写字母要小。如“A”《“a”。
⒑几个常见字母的ASCII码大小:“A”为;“a”为;“”为。
⒒参考资料来源:百度百科-ASCII
⒓谁有C语言程序设计(第三版杜友福主编的答案啊
⒔C语言程序设计(第三版)习题答案习题一一、名词解释(程序P(程序设计P(机器语言P(高级语言P(汇编程序P(编译程序P(算法P(结构化程序设计方法P二、简答题.设计程序时应遵循哪些基本原则?P答:正确性、可靠性、简明性、有效性、可维护性、可移植性。.算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。.算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。.结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。.传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。三、用传统流程图或N-S流程图表示求解以下问题的算法。.从键盘输入个整数,求出其中的最小数并输出。.求…的值。.求~的所有素数之和。.求下列分段函数的值。四、请参照本章例题,编写一个简单的C程序,输出以下三行信息。**************************YangtzeUniversity**************************#include《stdio.h》voidmain(){printf(“**************************
⒕“);printf(“YangtzeUniversity
⒖“);printf(“**************************
⒗“);}习题二一、选择题~:BCDCDDBCAA~:DACDBDBACD二、填空题.字母L或字母l.%c(或字符)、%d(或整数).在程序运行过程中,其值可以在一定的范围内变化的量.’’.小数形式、指数形式.关键字、预定义标识符、用户标识符.字母、数字、下划线、数字..、、.双精度实数或double.赋值、逗号、、、、.、习题三一、选择题~:BBCD注:第题答案D为:↙↙二、填空题.printf、scanf.h.“]“.’’.e、E..s、c.*.-、.i三、编程题.编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。例如输入的时间为秒,则输出结果为:小时分秒。#include《stdio.h》voidmain(){intx,h,m,s;scanf(“%d“,&x);h=x/;m=x/;s=x`;printf(“%ds=%d:%d:%d!
⒘“,x,h,m,s);}.编写程序,读入三个整数给变量a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。#include《stdio.h》voidmain(){inta,b,c,t;printf(“inputabc:“);scanf(“%d%d%d“,&a,&b,&c);printf(“a=%d,b=%d,c=%d
⒙“,a,b,c);t=a;a=c;c=b;b=t;printf(“a=%d,b=%d,c=%d
⒚“,a,b,c);}习题四一、填空题.、.!%+《=!=&&||=.x==.、.、、二、选择题~:DDCADDC三、程序阅读题.......a=,b=.passwarn.四、编程题.设a为整型变量且其值大于零,请将以下if语句改写成switch语句。if(a《)m=;elseif(a《)m=;elseif(a《)m=;elseif(a《)m=;elsem=;方法#include《stdio.h》voidmain(){inta,m;scanf(“%d“,&a);switch(a/){case:case:case:case:case:case:m=;break;case:m=;break;case:m=;break;case:m=;break;default:m=;break;}printf(“m=%d
⒛“,m);}方法#include《stdio.h》voidmain(){inta,m;scanf(“%d“,&a);m=;switch(a/){default:m;case:m;case:m;case:m;case:case:case:case:case:case:m;}printf(“m=%d
“,m);}.编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。#include《stdio.h》voidmain(){inta;scanf(“%d“,&a);if(a%==)printf(“%disaoddnumber!
“,a);elseprintf(“%disaevennumber!
“,a);}.编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;如果不是,不转换。然后输出最后得到的字符。#include《stdio.h》voidmain(){charch;scanf(“%c“,&ch);if(ch》=’a’&&ch《=’z’)ch=ch-;printf(“%c
“,ch);}.编写程序,从键盘输入一个不多于位的正整数,打印出它是几位数。#include《stdio.h》voidmain(){intx,n;scanf(“%d“,&x);if(x》)n=;elseif(x》)n=;elseif(x》)n=;elsen=;printf(“%d
“,n);}.当一个人的月收入在元以下时免税;月收入在元到元之间时,超过的部分纳税%;月收入在元以上时,至之间的部分纳税%,超过的部分纳税%。编写程序从键盘输入月收入ine,计算并输出应交税款tax。#include《stdio.h》voidmain(){intine;floattax;scanf(“%d“,&ine);if(ine《=)tax=;elseif(ine《=)tax=.*(ine-);elsetax=.*(-).*(ine-);printf(“tax=%f
“,tax);}.回文是指正读和反读都一样的数或字符串。例如:、、等都是回文。请编写一个程序,从键盘上读取一个包含五位数字的长整数,并判断它是否是回文。(提示:用除法运算和求余运算把一个数的个位、十位、百位、千位等分别分离出来。#include《stdio.h》voidmain(){longx;inta,b,d,e;scanf(“%ld“,&x);a=x/;b=x/;d=x/;e=x;if(a==e&&b==d)printf(“%ldishuiwen!
“,x);elseprintf(“%ldisnothuiwen!
“,x);}习题五一、阅读题...X.-....二、填空题...b=i..i《=、j%!=.d=.、k=k、k《=三、选择题~:ADDABDDA四、编程题.编写程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方之和等于该数本身。例如,是一个“水仙花数”,因为=。(注:若将题意改为打印出最大的或最小的“水仙花数”,则应将循环语句作如何调整?。#include《stdio.h》voidmain(){inta,b,c,k;for(k=;k《=;k)//求最大的“水仙花数”改用:for(k=;k》=;k--){a=k/;b=k/;c=k;if(k==a*a*ab*b*bc*c*c){printf(“]“,k);//求最大或最小”水仙花数”时增加一个语句:break;}}printf(“
“);}.编写程序,输出~年所有闰年的年号。每输出个年号换一行。#include《stdio.h》voidmain(){intk,flag,n=;for(k=;k《=;k){flag=(k%==)&&(k!=)||(k==);if(flag){printf(“]“,k);n;if(n==)printf(“
“);}}printf(“
“);}.编写程序,求--…-的值。#include《stdio.h》voidmain(){intn,t=,s=;for(n=;n《=;n=){t=-t;s=st*n;}printf(“s=%d
“,s);}.编写程序,计算并输出下列级数的前n项之和Sn。n的值从键盘输入。#include《stdio.h》voidmain(){intfz,fm,n,i;floats,t;fz=;fm=;s=;scanf(“%d“,&n);for(i=;i《=n;i){t=(.*fz)/fm;s=st;fz=fzfm;fm=fz-fm;}printf(“s=%f
“,s);}.编写程序,求e的值e=/!/!/!/!…/n!#include《stdio.h》voidmain(){intn,i;floatt,fm=,e=;scanf(“%d“,&n);for(i=;i《=n;i){fm=fm*i;t=./fm;e=et;}printf(“n=%d,e=%f
“,n,e);}.已知某球从米高度自由落下,落地后反复弹起,每次弹起的高度都是上次高度的一半。求此球次落地所经过的总路程。#include《stdio.h》voidmain(){intn;floats=,h=s/;for(n=;n《=;n){s=s*h;h=h/;}printf(“s=%f
“,s);}.用牛顿迭代法求高次方程f(x)=x-xx-=的根(约为.。注:牛顿迭代公式为:x=x-f(x)/f’(x),其中f’(x)为导函数在点x的值。#include《stdio.h》#include《math.h》voidmain(){floatx,f,f;x=;//x的初值可为任意值do{f=*x*x*x-*x*x*x-;f=*x*x-*x;x=x-f/f;}while(fabs(f)》.);printf(“x=%f,f=%f
“,x,f);}.有这样一些真分数:其分子和分母都是两位正整数,且分子的个位数与分母的十位数相同,如果把该分数的分子的个位数与分母的十位数同时去掉,所得到的新的分数正好与原分数的值相等,如/=/。试编程求出所有满足上述条件的真分数。#include《stdio.h》voidmain(){inta,b,c;//设这个分数为ab/bcfor(a=;a《=;a)for(b=;b《=;b)for(c=;c《=;c)if((a《c)&&(.*a/c==(a*.b)/(b*.c)))printf(“%d/%d=%d%d/%d%d=%f
“,a,c,a,b,b,c,.*a/c);}.编写程序,求数列:,(/,(//,(///,(////,…的前项之和。#include《stdio.h》voidmain(){floats,t;inti;s=,t=;for(i=;i《=;i){t=t./i;s=st;}printf(“s=%f
“,s);}.编写程序,求到之间的所有素数之和。#include《stdio.h》voidmain(){ints,i,k,flag;s=;for(i=;i《=;i){flag=;for(k=;k《i;k)if(i%k==){flag=;break;}if(flag){s=si;printf(“M“,i);}}printf(“
“,s);}.编写程序,求Fibonai数列中大于的最小的一个数(结果为)。#include《stdio.h》voidmain(){intf=,f=,f;while(f《=){f=ff;f=f;f=f;}printf(“Fibonai数列中大于的最小数是]
“,f);}习题六一、选择题~:DDCBABCDCD~:ABBDCABB~:BBDDDDCDCA注:第题答案C为:字符串“SHORT“与“SHORT“相等第题题目为:已知:charstr={“books“};则在程序中能够将字符串“books“赋给数组str的正确语句是。第题题目为:设有:charstr=“xyz“;则执行语句:printf(“%d“,strlen(strcpy(str,str));的结果是。第题答案D为:aaaabbbbdddd二、填空题.、.先行后列.
求孙亚飞主编的C语言程序设计的课后答案啊啊
百度有很多这个教程的答案,非常多。你自己根据需求去下《C语言程序设计实验指导与习题解答》是与孙力主编的《C语言程序设计》(中国农业出版社出版配套使用的实验指导书。全书共有章。第章是C语言编译环境介绍,主要介绍了VisualC++.集成开发环境下、编译、调试和运行程序的方法。第章是上机实验内容,编写了配合《C语言程序设计》上机实验的个实验和个综合实训,实验内容循序渐进,由浅入深,分别由基础性实验、提高性实验、综合性和设计性实验构成。第章是程序开发中的常见错误与调试。第章是《C语言程序设计》每章末部分习题的参考答案。
只说一下思路实在写不出来再追问最好能自己解决第一题:就是一个杨辉三角问题用双循环外循环是行数(用i表示)从到n(n自己输入)内循环是列数(用j表示)从到*i-然后就是赋值很多种方式比如你定义一个字符变量C给它赋值为A然后每次都用C给数组赋值然后让C加方法很多(数组是字符二维数组,用之前要初始化一下给数组都赋值为空格)第二题:定义两个二维数组一个一维数组按照题目要求先把每个同学的成绩和名字分别存放到两个二维数组里面同样是双循环然后再用双循环把每个同学成绩加起来放到一维数组里面然后接下来就是对一位数组内容进行排序排序过程中也要将名字的那个二维数组同样排序因为一维数组中的总分顺序和二维数组中的姓名顺序是一样的比如要将第二个同学的成绩和第五个同学的成绩交换那么就要将总分交换再将姓名交换不然分就不对人了第三题:题目没明白什么意思第四题:用循环从第一个元素判断到最后一个元素定义个变量存储数字大写小写空格出现的次数查一下ASCII码数字好像是-大写字母是-小写是-判断元素内容的ASCII在哪个范围哪个变量就加
C语言程序设计教程答案~有追加悬赏分!
C语言】《C语言程序设计教程(第二版)》习题答案说明.本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。第章程序设计基础知识一、单项选择题(第页)-.CBBC-.DACA二、填空题(第页).判断条件.面向过程编程.结构化.程序.面向对象的程序设计语言.有穷性.直到型循环.算法.可读性.模块化.对问题的分析和模块的划分三、应用题(第页).源程序:main(){inti,j,k;/*i:公鸡数,j:母鸡数,k:小鸡数的/*/printf(“cockhenchick
“);for(i=;i《=;i++)for(j=;j《=;j++)for(k=;k《=;k++)if(i+j+k*==&&i*+j*+k==)printf(“%d%d%d
“,i,j,k*);}执行结果:cockhenchick.现计算斐波那契数列的前项。递推法源程序:main(){longa,b;inti;a=b=;for(i=;i《=;i++)/*要计算前项,把改为。*/{printf(“%ld%ld“,a,b);a=a+b;b=b+a;}}递归法源程序:main(){inti;for(i=;i《=;i++)printf(“%d“,fib(i));}fib(inti){return(i《=?:fib(i-)+fib(i-));}执行结果:.源程序:#include“math.h“;main(){doublex,x,deltax;x=.;do{x=pow(x+,);deltax=fabs(x-x);x=x;}while(deltax》e-);printf(“%.f
“,x);}执行结果:..源程序略。(分子、分母均构成斐波那契数列)结果是..源程序:main(){inta,b,c,m;printf(“Pleaseinputa,bandc:“);scanf(“%d%d%d“,&a,&b,&c);if(a《b){m=a;a=b;b=m;}if(a《c){m=a;a=c;c=m;}if(b《c){m=b;b=c;c=m;}printf(“%d%d%d
“,a,b,c);}执行结果:Pleaseinputa,bandc:.源程序:main(){inta;scanf(“%d“,&a);printf(a%==?“Yes“:“No“);}执行结果:Yes第章C语言概述一、单项选择题(第页)-.BDCB-.AABC二、填空题(第页).主.C编译系统.函数函数.输入输出.头..OBJ.库函数.文本三、应用题(第页).sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN、x、until、cosx、s_是标识符。.源程序:main(){inta,b,c;scanf(“%d%d“,&a,&b);c=a;a=b;b=c;printf(“%d%d“,a,b);}执行结果:第章数据类型与运算规则一、单项选择题(第页)-.DBA-.DBDBC-.ADC-.CBD-.ADDBC-.AB二、填空题(第页).补码.±(^-~^).int(整数).单目自右相左.函数调用.a或b..,三、应用题(第页)..执行结果:第章顺序结构程序设计一、单项选择题(第页)-.DCDAD-.BACBB二、填空题(第页).一;...()-()I=-,j=()i=-j=.a=,b=.,c=..略.,,..scanf(“%lf%lf%lf“,&a,&b,&c);..,..a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)三、编程题(第页).仿照教材第页例-。.源程序:main(){inth,m;scanf(“%d:%d“,&h,&m);printf(“%d
“,h*+m);}执行结果::.源程序:main(){inta={-,,,},i;for(i=;i《=;i++)printf(“%dC=%gF “,a*.+);}执行结果:-℃=°F℃=°F℃=°F℃=.°F.源程序:main(){doublepi=.,r=;printf(“r=%lgA=%.lfS=%.lf
“,r,*pi*r,pi*pi*r);}执行结果:r=A=.S=..源程序:#include“math.h“;main(){doublea,b,c;scanf(“%lf%lf%lf“,&a,&b,&c);if(a+b》c&&a+c》b&&b+c》a){doubles=(a+b+c)/;printf(“SS=%.lf
“,sqrt(s*(s-a)*(s-b)*(s-c)));}elseprintf(“Dataerror!“);}执行结果:SS=..源程序:main(){inta=,b=,c=;floatd=.,e=.,f=-.;printf(“a=%d,b=%-d,c=**%d
“,a,b,c,d,e,f);}.源程序:main(){inta,b,c,m;scanf(“%d%d%d“,&a,&b,&c);m=a;a=b;b=c;c=m;printf(“%d%d%d
“,a,b,c);}执行结果:.源程序:main(){inta,b,c;scanf(“%d%d%d“,&a,&b,&c);printf(“averageof%d,%dand%dis%.f
“,a,b,c,(a+b+c)/.);执行结果:averageof,andis..不能。修改后的源程序如下:main(){inta,b,c,x,y;scanf(“%d%d%d“,&a,&b,&c);x=a*b;y=x*c;printf(“a=%d,b=%d,c=%d
“,a,b,c);printf(“x=%d,y=%d
“,x,y);}第章选择结构程序设计一、单项选择题(第页)-.DCBB-.DABD二、填空题(第页).非.k==.if(abs(x)》)printf(“%d“,x);elseprintf(“error!“);.if((x》=&&x《=||x》=&&x《=)&&x&)printf(“%d“,x);.k=(原题最后一行漏了个d,如果认为原题正确,则输出k=%。).!Right!.$$$a=.a=,b=三、编程题(第页).有错。正确的程序如下:main(){inta,b,c;scanf(“%d,%d,%d“,&a,&b,&c);printf(“min=%d
“,a》b?b》c?c:b:a》c?c:a);}.源程序:main(){unsignedlonga;scanf(“%ld“,&a);for(;a;printf(“%d“,a%),a/=);}执行结果:.()源程序:main(){intx,y;scanf(“%d“,&x);if(x》-&&x《)y=x;if(x》=&&x《)y=x-;if(x》=&&x《)y=x+;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);if(x《)if(x》-)if(x》=)if(x》=)y=x+;elsey=x-;elsey=x;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);if(x《)if(x》=)y=x+;elseif(x》=)y=x-;elseif(x》-)y=x;printf(“%d
“,y);}()源程序:main(){intx,y;scanf(“%d“,&x);switch(x/){case-:if(x!=-)y=x;break;case:y=x-;break;case:y=x+;}printf(“%d
“,y);}.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。现给出Delphi源程序和C++Builder源程序。Delphi源程序:procedureTForm.ButtonClick(Sender:TObject);beginedit.Text:=format(’%.f天’,);end;procedureTForm.FormCreate(Sender:TObject);beginEdit.Text:=datetostr(now);buttonclick(form)end;C++Builder源程序:void__fastcallTForm::ButtonClick(TObject*Sender){Edit-》Text=IntToStr(StrToDate(Edit-》Text)-StrToDate(Edit-》Text))+“天“;}void__fastcallTForm::FormCreate(TObject*Sender){Edit-》Text=Da)我不是说叫你有问题另发帖子吗?第章指针一、单项选择题(第页)-.DCDAC-.ABC-.AABBB-.DCDBD二、填空题(第页).①int*②*z.*p++.①’’②++.①q=p+②q《p+③*q》max④*q《min三、编程题(第页).源程序:main(){inti=;charc;do{scanf(“%s“,&c);i++;}while(strcmp(c,“stop“));printf(“%d
“,i);}执行结果:ThiscarranformNanyangtoLuoyangwithoutastop.源程序:main(){chars={};inti;gets(s);for(i=;s++);for(i=;i《;i++)if(c);}执行结果:abcedabcdcda=b=c=d=e=
求c语言程序设计答案
#include《fstream》#include《string.h》#include《iostream》#include《conio.h》//用getch();usingnamespacestd;//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌classStudent{public:charname;charClass;charId;intum;//C课程得分intMnum;//数学课程得分intEnum;//英语课程得分intGnum;//体育intsum;//总分intave;//平均分Student*Next;voidInput(){cout《《“ 请输入学生的姓名:“;cin》》name;cout《《“ 请输入学生的班级:“;cin》》Class;cout《《“ 请输入学生的学号:“;cin》》Id;cout《《“ 请输入C++的成绩:“;cin》》um;cout《《“ 请输入数学课程的成绩:“;cin》》Mnum;cout《《“ 请输入英语课程的成绩:“;cin》》Enum;cout《《“ 请输入日语的成绩:“;cin》》Gnum;sum=um+Mnum+Enum+Gnum;ave=(um+Mnum+Enum+Gnum)/;}voidReadFile(istream&in){in》》name》》Class》》Id》》um》》Mnum》》Enum》》Gnum》》ave》》sum;}voidShow(){cout《《“姓名:“《《name《《endl《《“班级:“《《Class《《endl《《“学号:“《《Id《《endl《《“C++:“《《um《《endl《《“数学:“《《Mnum《《endl《《“外语:“《《Enum《《endl《《“日语:“《《Gnum《《endl《《“平均成绩:“《《ave《《endl《《“总成绩:“《《sum《《endl《《endl《《endl;}};//﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌classStudentmassage{public:Studentmassage();~Studentmassage();voidShowMenu();voidFind();voidSave();voidModifyItem();voidRemoveItem();voidSwap(Student*,Student*);voidSort();intListCount();voidDisplay(){for(Student*p=Head-》Next;p!=End;p=p-》Next)p-》Show();cout《《“输入任意字符!继续……“;getch();}voidAddItem(){End-》Input();End-》Next=newStudent;End=End-》Next;cout《《“添加成功!“《《endl;cout《《“输入任意字符!继续……“;getch();}private:Student*Head,*End;ifstreamin;ofstreamout;Student*FindItem(char*name){for(Student*p=Head;p-》Next!=End;p=p-》Next)if(!strcmp(p-》Next-》name,name))returnp;returnNULL;}Student*FindID(char*Id){for(Student*p=Head;p-》Next!=End;p=p-》Next)if(!strcmp(p-》Next-》Id,Id))returnp;returnNULL;}Student*FindCLASS(char*Class){for(Student*p=Head;p-》Next!=End;p=p-》Next)if(!strcmp(p-》Next-》Class,Class))returnp;returnNULL;}}Grade;//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage::Studentmassage(){Head=newStudent;Head-》Next=newStudent;End=Head-》Next;in.open(“sort.txt“);if(!in)cout《《“这是一个新系统,无学生信息。请先输入。“《《endl;else{while(!in.eof()){End-》ReadFile(in);if(End-》name==’’)break;End-》Next=newStudent;End=End-》Next;}in.close();cout《《“ 读取学生信息成功!“《《endl;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage::~Studentmassage(){Save();for(Student*temp;Head-》Next!=End;){temp=Head-》Next;Head-》Next=Head-》Next-》Next;deletetemp;}deleteHead,End;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::ShowMenu(){cout《《“〓〓〓〓〓〓〓〓〓〓☆学生成绩管理系统☆〓〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.增加学生成绩☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.显示学生成绩☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.排序统计成绩☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.查找学生成绩☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.删除学生成绩☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.修改学生信息☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“〓〓〓〓〓〓〓〓〓★☆.安全退出系统☆★〓〓〓〓〓〓〓〓〓“《《endl;cout《《“
请选择:“;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::Find(){charname,Id;intx;Student*p=NULL;cout《《“
*********************************
“;cout《《“ ※.按学生的姓名查找
※.按学生班级查找“;cout《《“
*********************************
请选择:“;cin》》x;switch(x){case:{cout《《“ 请输入要查找的学生的姓名:“;cin》》name;if(p=FindItem(name)){p-》Next-》Show();cout《《“输入任意字符!继续……“;getch();}else{cout《《“ 没有找到该姓名的学生!“《《’
’《《endl;cout《《“输入任意字符!继续……“;getch();}}break;case:{cout《《“ 请输入要查找的学生的学号:“;cin》》Id;if(p=FindID(Id)){p-》Next-》Show();cout《《“输入任意字符!继续……“;getch();}else{cout《《“ 没有找到该学号的学生!“《《’
’《《endl;cout《《“输入任意字符!继续……“;getch();}}break;case:{cout《《“ 请输入要查找的学生的班级:“;cin》》Class;if(p=FindCLASS(Class)){p-》Next-》Show();cout《《“输入任意字符!继续……“;getch();}else{cout《《“ 没有找到该班级的学生!“《《’
’《《endl;cout《《“输入任意字符!继续……“;getch();}}break;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::ModifyItem()//修改信息{charID;Student*p=NULL;cout《《“ 请输入要修改的人的学号:“;cin》》ID;if(p=FindID(ID)){cout《《“ 已找到学生的信息,请输入新的信息!“《《endl;p-》Next-》Input();cout《《“修改成功!“《《endl;cout《《“输入任意字符!继续……“;getch();}else{cout《《“ 没有找到!“《《endl;cout《《“输入任意字符!继续……“;getch();}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::RemoveItem()//删除信息{charID;Student*p=NULL,*temp=NULL;cout《《“ 请输入要删除的学生的学号:“;cin》》ID;if(p=FindID(ID)){temp=p-》Next;p-》Next=p-》Next-》Next;deletetemp;cout《《“ 删除成功!“《《endl;cout《《“输入任意字符!继续……“;getch();}else{cout《《“ 没有找到!“《《endl;cout《《“输入任意字符!继续……“;getch();}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::Swap(Student*p,Student*p){Student*temp=newStudent;strcpy(temp-》name,p-》name);strcpy(temp-》Id,p-》Id);temp-》um=p-》um;temp-》Mnum=p-》Mnum;temp-》Enum=p-》Enum;temp-》sum=p-》sum;strcpy(p-》name,p-》name);strcpy(p-》Id,p-》Id);p-》um=p-》um;p-》Mnum=p-》Mnum;p-》Enum=p-》Enum;p-》sum=p-》sum;strcpy(p-》name,temp-》name);strcpy(p-》Id,temp-》Id);p-》um=temp-》um;p-》Mnum=temp-》Mnum;p-》Enum=temp-》Enum;p-》sum=temp-》sum;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌intStudentmassage::ListCount()//统计当前的记录总数{if(!Head)return;intn=;for(Student*p=Head-》Next;p!=End;p=p-》Next){n++;}returnn;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::Sort()//对当前学生进行排序{cout《《“Sorting...“《《endl;Student*p=NULL,*p=NULL,*k=NULL;intn=Studentmassage::ListCount();if(n《)return;for(p=Head-》Next;p!=End;p=p-》Next)for(k=p-》Next;k!=End;k=k-》Next){if(p-》sum》k-》sum){Studentmassage::Swap(p,k);}}cout《《“排序完成!“《《endl;getch();return;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidStudentmassage::Save(){out.open(“sort.txt“);for(Student*p=Head-》Next;p!=End;p=p-》Next)out《《p-》name《《“ “《《p-》Class《《“ “《《p-》Id《《“ “《《p-》um《《“ “《《p-》Mnum《《“ “《《p-》Enum《《“ “《《p-》Gnum《《“ “《《p-》ave《《“ “《《p-》sum《《’
’;out.close();}voidcode()//密码{chars;cout《《“请输入密码:“;while(cin》》s){if(!strcmp(s,s)){Grade.ModifyItem();break;}elsecout《《“你输入的密码不正确,请重新输入:“;}}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌intmain(){intx,i=;boolquit=false;cout《《“ §§§§§§§§§§§§§§§§§§§§§§§§§§“《《endl;for(i=;i《;i++)cout《《“ ◎ ◎“《《endl;cout《《“ ◎★★★★【欢迎进入学生成绩管理系统】★★★★◎“《《endl;for(i=;i《;i++)cout《《“ ◎ ◎“《《endl;cout《《“ §§§§§§§§§§§§§§§§§§§§§§§§§§
“《《endl;;cout《《“请按任意键开始……“;getch();while(!quit){system(“cls“);Grade.ShowMenu();cin》》x;switch(x){case:cout《《“★★★★感谢您的使用★★★★“《《endl;quit=true;break;case:Grade.AddItem();break;case:Grade.Display();break;case:Grade.Sort();break;case:Grade.Find();break;case:Grade.RemoveItem();break;case:code();break;}}return;}我稍微改了下,应该可以用~额~~你们一定要C编吗~C++不可以嘛?
c语言程序设计答案元买只鸡,公鸡元一只,母鸡元一只,小鸡元只,该怎么买
写个三重循环来寻找购买方案。
#include?《stdio.h》int?main(void)?{int?i,j,k,count=;for?(i=;i《=/;i++)?/*公鸡*/for?(j=;j《=/;j++)?/*母鸡*/for?(k=;k《=*;k++)?/*小鸡*/if?(i*+j*+k==?&&?i+j+k*==)?{count?++;printf?(“方案%d:%d只公鸡,%d只母鸡,%d只小鸡。
“,count,i,j,k*);printf?(“只鸡?=?%d?+?%d?+?%d
“,i,j,k*);printf?(“元钱?=?%d×?+?%d×?+?%d/?=?%d?+?%d?+?%d
“,i,j,k*,i*,j*,k);printf?(“
c语言程序设计(何钦铭颜晖第三版)课后习题答案
.主函数main();主函数main()
.主函数main()
.顺序结构;选择结构;循环结构
..c;.obj;.exe
.答:结构化程序设计是指,为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。顺序结构,选择结构,循环结构
.答:算法是对具体问题求解步骤的一
种描述。计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。
#include“stdio.h“
{?floata=,b=,h=,s;
s=(a+b)*h/;
printf(“s=%f“,s);
求C语言程序设计的答案
分,共分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:分DA.ALUB.CPUC.MPUD.主机.下列存储器中,存取速度最快的是()(本题分值:分DA.软盘B.硬盘C.光盘D.内存.系统软件中最重要的是()(本题分值:分AA.操作系统B.语言处理程序C.工具软件D.数据库管理系统、CPU处理的数据基本单位为字,一个字的字长()(本题分值:分DA.为个二进制位B.为个二进制位C.为个二进制位D.与CPU芯片的型号有关.打印当前屏幕内容应使用的控制键是()(本题分值:分DA.Scroll-LockB.Num-LockC.PgDnD.PrtSc(PrintScreen).能将高级语言源程序转换成目标程序的是()(本题分值:分CA.调试程序B.解释程序C.编译程序D.程序.二进制数.转换成十进制数是()(本题分值:分BA..B..C..D...十六进制数FF.转换成十进制数是()(本题分值:分AA..B..C..D...中国国家计算机网络设施是()(本题分值:分AA.NCFCB.CERC.ISDND.Inter.控制键^C的功能为()(本题分值:分AA.终止当前操作B.系统复位C.暂停标准输出设备的输出D.结束命令行.MAND.为命令处理程序,DOS系统启动后,它()(本题分值:分BA.驻留在外存,需要时装入内存B.常驻内存,包含所有内部命令C.不能处理外部命令D.不能处理后缀为.EXE的可执行文件.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:分CA.REN*.PAS.?ASB.RENPASPC.REN*.PAS*.PD.REN*.PAS*.P??.设当前盘中文件XY.C的路径为ABXU,当前目录为AB。为了查看文件XY.C的内容,应使用命令()(本题分值:分AA.TYPEXUXY.CB.TYPEXUXY..DIRXUXY.CD.DIRABXUXY.C.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:分BA.PROMPTB.PROMPT$p$gC.PROMPT$$D.PROMPTC>.在多媒体计算机系统中,CD-ROM属于()(本题分值:分DA.感觉媒体B.表示媒体C.表现媒体D.存储媒体.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:分CA.TYPEA:>ABB.DIR>ABC.DIRA:>ABD.DIR>AB.在位运算中,操作数每右移一位,其结果相当于()(本题分值:分BA.操作数乘以B.操作数除以C.操作数除以D.操作数乘以.在当前盘当前目录下有一个文件A.BAT,其内容为CDMDXYZABBDXYZABB在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:分CA.MDCB.RDXYZC.RDCD.RDB.下列命令组中两个DOS命令互相等价的是()(本题分值:分DA.TYPEAB.TXT与DIRAB.TXTB.DISKPA:B:与PA:.*B:*.C.TYPEAB.TXT>>XY.TXT与COPYAB.TXTXY.TXTD.TYPEAB.TXT>XY.TXT与COPYAB.TXTXY.TXT.设A盘为启动盘,其目录结构为根目录DOS子目录AND.USER子目录AUTOEXEC.BAT其文件AUTOEXEC.BAT的内容如下:MDXYZCDDOSUSER则由A盘启动成功后,A盘的当前目录是()(本题分值:分CA.DOSUSERB.XYZC.根目录D.DOS.C语言提供的合法关键字是()(本题分值:分CA.switchB.cherC.caseD.default.在C语言中,合法的字符常量是()(本题分值:分BA.′′B.′x′C.′ab′D.′′.若已定义x和y为double类型,则表达式:x=,y=x+/的值是()(本题分值:分CA.B.C..D...合法的数组定义是()(本题分值:分DA.inta=〃string〃;B.inta=;C.chara=〃string〃;D.chara=;.设a为整型变量,不能正确表达数学关系<a<的C语言表达式是()(本题分值:分AA.<a<B.a==||a==||a==||a==C.a>&&a<D.!(a<=)&&!(a>=).若t为double类型,表达式t=,t+,t++的值是()(本题分值:分CA.B..C..D...若有定义和语句:chars;s=〃abcd〃;printf(〃%s
〃,s);则结果是(以下μ代表空格)()(本题分值:分DA.输出abcdB.输出aC.输出abcdμμμμμD.编译不通过.若有定义和语句:int**pp,*p,a=,b=;pp=&p;p=&a;p=&b;printf(〃%d,%d
〃,*p,**pp);则输出结果是()(本题分值:分DA.,B.,C.,D.,.若有以下定义和语句:intu=,v=x,w=;printf(〃%d,%d,%d
〃,u,v,w);则输出结果是()(本题分值:分AA.,,B.,,C.,,D.,,.若有以下定义和语句:charc=′b′,c=′e′;printf(〃%d,%c
〃,c-c,c-′a′+′A′);则输出结果是()(本题分值:分BA.,MB.,EC.,ED.输出项与对应的格式控制不一致,输出结果不确定.若有定义:inta。(本题分值:分DA.*(a+)B.*(&a)C.(*(a+))D.*(a+).若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:分for(i=;i>;i--)for(j=;j<;j++)AA.B.C.D..若有以下定义和语句:char*s=〃〃,*s=〃〃;printf(〃%d
〃,strlen(strcpy(s,s)));则输出结果是()(本题分值:分AA.B.C.D..若有以下定义和语句:inta=,*p=a;则不能表示a数组元素的表达式是()(本题分值:分BA.*pB.aC.*aD.a.下面程序的输出结果是()(本题分值:分CA.k=a=b=B.k=a=b=C.k=a=b=D.k=a=b=.下面程序的输出结果是()(本题分值:分main(){unsigneda=;printf(〃a=%d
〃,a);}CA.a=B.a=C.a=-D.a=-.执行下面语句后的输出结果为()(本题分值:分inti=-;if(i<=)printf(〃****
〃);elseprintf(〃%%%%
〃)DA.****B.%%%%C.%%%%cD.有语法错误,不能正确执行.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()(本题分值:分CA.M==B.M==C.M!=D.M!=.下述程序段的输出结果是()(本题分值:分intx=;intnbspy=x++;printf(〃%d,%d〃,(x++,y),y++);AA.,B.,C.,D.,.若有以下的定义:inta=,*p=a则值为的表达式是()(本题分值:分AA.p+=,*(p++)B.p+=,*++pC.p+=,*p++D.p+=,++*p.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:分a=b=c=;x=;if(!a)x--;elseif(b);if(c)x=;elsex=;BA.B.C.D..在以下一组运算中,优先级最高的运算符是()(本题分值:分CA.<=B.=C.%D.&&.若有以下定义和语句:intw;pw=w;则对w数组元素的非法引用是()(本题分值:分AA.*(w+)B.*(pw+)C.pwD.*(pw+).若有以下程序片段:charstr=〃ab
\\〃;printf(〃%d〃,strlen(str));上面程序片段的输出结果是()(本题分值:分CA.B.C.D..函数调用:strcat(strcpy(str,str),str)的功能是()(本题分值:分CA.将串str复制到串str中后再连接到串str之后B.将串str连接到串str之后再复制到串str之后C.将串str复制到串str中后再将串str连接到串str之后D.将串str连接到串str之后再将串str复制到串str中.以下对C语言函数的有关描述中,正确的是()(本题分值:分AA.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C程序中有调用关系的所有函数必须放在同一个源程序文件中.以下叙述中不正确的是()(本题分值:分CA.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容C.在C中,外部变量的隐含类别是自动存储类别D.在C中,函数形参可以说明为register变量.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占个字节)()(本题分值:分structdate{long*cat;structdate*next;doubledog;}too;printf(〃%d〃,sizeof(too));DA.B.C.D..设有定义:structskdata,*p;若有p=&data;,则对data中的a域的正确引用是()(本题分值:分BA.(*p).data.aB.(*p).aC.p->data.aD.p.data.a.以下对枚举类型名的定义中正确的是()(本题分值:分BA.enuma=;B.enuma;C.enuma=;D.enuma;二、填空题(每空分,共分)请将答案分别写在答题卡中序号至的横线上,答在试卷上不得分。、与十进制数等值的二进制数为。(本题分值:分、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。(本题分值:分外部、设当前盘为A盘,当前系统提示符为“》”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。(本题分值:分CDC:、自动批处理文件名必须是。(本题分值:分AUTOEXEC.BAT、设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为。(本题分值:分COPYW.TXT+P.TXTW.TXT、表示条件<x<或x<的C语言表达式是。(本题分值:分(x>&&x<)||x<或(<x&&x<)||x<或x<||(x>&&x<)或>x||(<x&&x<)、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?br》#defineN#defineMvoidLineMax(intx){inti,j,p;for(i=;i<N;i++){p=;for(j=;j<M;j++)if(x);printf(〃Themaxvalueinlineis%d
〃,);}}main();;}(本题分值:分p=jxLineMax(x)、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。main(){floatx,sum=.,ave,a;intn=,i;printf(〃Entermark:
〃);scanf(〃%f〃,&a);while(a>=.&&n<){sum+=;x=;n++;scanf(〃%f〃,&a);}ave=;printf(〃Output:
〃);printf(〃ave=%f
〃,ave);for(i=;i<n;i++)if()printf(〃%f
〃,x);}(本题分值:分aasum/n或sum/(float)n或sum/(double)nx、执行以下程序,输入-的结果是,输入的结果是,输入的结果是,输入的结果是。(本题分值:分、以下程序的功能是。main();intsum=,i;for(i=;i<;i++)if(num>)sum=num+sum;printf(〃sum=%d〃,sum);}(本题分值:分计算数组num中大于零的数据之和、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。#includemain(){charb=;intc,d,i=,base;longn;printf(〃Enteranumber:
〃);scanf(〃%d〃,&n);printf(〃Enternewbase:
〃);scanf(〃%d〃,&base);do{c=;i++;n=n/base;}while(n!=);printf(〃Theresultis:
〃);for(--i;i>=;--i){?d=c;printf(〃%c〃,b);}}(本题分值:分n%base