华科周纯杰版c语言答案
华科C++第八次上机答案

int main()
{
Point p1(1,9),p2(8,5),p3,p4; //p1-左上角坐标1-x坐标9-y坐标p2-右下角坐标8-x坐标5-y坐标
CRect cr(p1,p2),cr1;
cout<<cr.RectHeight()<<endl; //输出矩形高度
class Point {
public:int x,y;
Point (int a=0,int b=0 ){
x=a; y=b;}
void setP(int c,int d){
x=c;y=d;}
};
class CRect{
int x1,y1,x2,y2;
public:
CRect(Point p1,Point p2){x1=p1.x;
return 0;
}
定义一个日期类Date,包含年、月、日三个数据成员(int),定义带有3个参数的构造函数,
以及一个求日期是当年的第几天的成员函数和输出日期的成员函数,
日期的显示格式为年/月/日。编写主函数进行测试。
(每年各月天数分别为31,28,31,30,31,30,31,31,30,31,30,31,闰年2月为29天,
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include <iostream>
#include <cmath>
using namespace std;
/**********Program**********/
华中科技大学 刷题C++ 题目 答案

int m=a;
if(b<m)
m=b;
if(c<m)
m=c;
return m;
}
/********** End **********/
void main(void)
{
int a,b,c;
cout<<"输入三个整数a,b,c=";
cin>>a>>b>>c;
year=Y;
month=M;
day=D;
}
SetD(int Y,int M,int D){
year=Y;
month=M;
day=D;
}
int getDay(); void show(); };
int Date::getDay(){
int n,i,k=0;
if ((year%100!=0&&year%4==0)||year%400==0)i=1;
#include <iostream>
using namespace std;
/**********Program**********/
class Date{
int year,month,day;
public:
Date(){
year=0;
month=0;
day=0;
}
Date(int Y,int M,int D){
en[i]=s[i]-21;
else en[i]=s[i];
i++;
return en[i-1];
}
/********** End **********/
C语言课后习题标准答案

C语言课后习题标准答案第1章C语言概述一、简答题1.(1)语言简洁、紧凑,使用方便、灵活;(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。
2.顺序结构,分支结构,循环结构3.所谓算法就是为解决一个问题而采取的方法和步骤。
算法的特性:有穷性、确定性、输入、输出、可行性。
表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。
二、算法1.瓶子A里盛有醋瓶子B里盛有酱油那一个空瓶C将A中的醋倒入C将B中的酱油倒入A将C中的醋倒入B2.输入一个数放在a中max=a以下步骤重复9次:输入一个数放在a中如果a>max,max=b打印max的值3.如果ﻩﻩa<btemp=aﻩa=bﻩﻩb=temp如果c>aﻩtemp1=aﻩﻩtemp2=ba=cﻩb=temp1ﻩc=temp2否则ﻩ如果ﻩc>bﻩtemp=bﻩb=cﻩc=temp打印a,b,c的值4.i=1sum=0以下程序循环100遍:sum=sum+iﻩi=i+1打印sum的值5.如果(n除以3的余数为0并且n除以5的余数为0)n能够同时被3和5整除否则ﻩn不能够同时被3和5整除6.i=101以下语句循环50遍:ﻩj=2ﻩflag=1ﻩ当j<(i除以2的整数部分)时循环以下语句:ﻩﻩ如果i除以j的余数为零ﻩﻩﻩflag=0ﻩﻩﻩ退出该循环如果flag=1ﻩﻩﻩ打印i的值ﻩi=i+17.如果m<nﻩﻩtemp=mﻩﻩm=nn=tempi=nj=1做以下循环,直到m能够被i/j整除:如果i能够被j整除并且m能够被i/j整除i/j即是m和n的最大公约数ﻩ跳出循环否则ﻩj=j+1打印i/j的值8.data=b*b—4*a*c如果data>0否则如果data=0ﻩx1=x2=—b/2否则无实数解三、编程题1.main(){ﻩprintf(“##############################\n”);ﻩprintf(“How do youdo?\n”);ﻩprintf(“##############################\n”);}2.main(){adata b x2)(1+-=a data b x2)(2--=。
C语言程序设计教程 课后习题参考答案

else if( carType == 2 ) //富康
{
if( distance < 3 )
totalMoney = 8.0;
else
totalMoney = 8 + fukang * (distance – 3);
}
else if( carType == 3 ) //富康
{
if( distance < 3 )
(3) 7BAB4BAB1BC
(4) ABABABC
(5) ******
******
******
******
4.
(1) a != b
(2) n / 10
(3) scanf(“%d”, &a);
5.(3)行int fac = 1, sum = 0;
6.
(1)
#include <stdio.h>
main( )
r = 2.5;
h = 3.5;
v = 3.14*r*r*h;
printf(“v=%lf\n”, v);
}
(2)
#include <stdio.h>
main( )
{
char ch;
ch = getchar( );
printf(“%c\n”, ch + 32);
}
(3)
#include <stdio.h>
scanf("%d", &carType);
printf("请输入您乘车的总路程:");
scanf("%lf", &distance);
if( carType == 1)//夏利
C语言全部章节习题集(参考答案)

C语言全部章节习题集(参考答案).txt如果真诚是一种伤害,请选择谎言;如果谎言是一种伤害,请选择沉默;如果沉默是一种伤害,请选择离开。
第一章 C语言概述一、选择题:1、一个C程序的执行是从( A )。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。
A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。
A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。
2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。
4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。
5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
c语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。
课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
c语言程序设计教程(第2版)完整编程答案1-8章

9 c 32 ,程序中有多处错误, 5
请改正错误后运行正确的程序。 答:#include <stdio.h> #include <stdio.h> main() main() {float c=0,f=0; {float c=0,F=0; printf("input c:"); printf("input c:"); scanf("%f",&c); scanf("%f", c); f=((float)9/5)*c+32; f=(9/5)·c+32; printf("c=%f,f=%f\n",c,f); print("c=%f,f=%f\n",&c,&f); } } 扩展:把程序功能改为:输入华氏温度 f,计算摄氏温度 c。 #include <stdio.h> main()
0 x 2 2、编写程序,求下面分段函数的值,要求 x 的值从键盘输入。 y 2 x 3 10
(当x 0时) (当0 x 5时) (当5 x 10时) (当x 10时)
#include <stdio.h> main() { double x=0.0,y=0.0; int k=0; scanf("%lf",&x); k=1*(x<0)+2*(x>=0&&x<5)+3*(x>=5&&x<10)+4*(x>=10); switch(k) { case 1: y=0;break; case 2: y=x+2;break; case 3: y=x*x-3;break; case 4: y=10;break; } printf("x=%lf,y=%lf\n",x,y); } 训练 3.1:输入一个字符,如果是数字字符,则转换成对应的数字。 #include <stdio.h> main() { char ch='\0'; int a=-1; ch=getchar(); if(ch>='0'&&ch<='9') { a=ch-'0'; printf("charter %c ,digit:%d\n",ch,a); } else printf("%c is not digit\n",ch); } 扩展:将程序的功能改为:如果所输入的字符为大写字母,则将其转换为小写字母。请使用库函数判断和转 换。 #include <stdio.h> #include <ctype.h> main() { char ch='\0'; ch=getchar(); printf("the input charter is %c \n",ch); if(isupper(ch)) { ch=tolower(ch); printf("The corresponding lowercase letter is %c\n",ch); } else printf("It is not the capital letter!\n"); } 训练 3.2:求一元二次方程 ax2+bx+c=0 的实根(要求 a,b,c 的值从键盘输入,a≠0) #include <stdio.h> #include <math.h> main()
课后题答案-C语言程序设计(第2版)

《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。
#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 程序和流程控制 1.输入两个整数,输出较大者。
#include<>
void main() { int a,b; int max=0; printf("Please input two numbers:"); scanf("%d%d",&a,&b);
if(a<=b) max=b; else max=a;
printf("The larger number is %d\n",max); }
2.有3个整数a,b,c,由键盘输入,输出其中最大的数。 #include<>
void main() { int a,b,c,max; printf("Please input three numbers:"); scanf("%d%d%d",&a,&b,&c);
if(a>b) { if(a>c) max=a; else max=c; } else { if(b>c) max=b; else max=c; }
printf("The largest number is %d\n",temp); } 3.从1累加到100,用while语句。 #include<> #define N 100 void main() { int i=1,sum=0; while(i<=N) { sum+=i; i++; } printf("sum:%d\n",sum); } 4.已知a1=10,a2 =-3,an=3an-1 +an-2 ,求{ a }的前十项。 #include<> #define N 10 void main() { int a[20]={10,-3}; int i=0,m=0; for(i=2;i { a[i]=3*a[i-1]+a[i-2]; } m=N; printf("The %d numbers are:\n",m); for(i=0;i { printf("a[%d]=%d\n",i+1,a[i]); } } 5.输入一个自然数,判断它是奇数还是偶数。 #include<> void main() { int a, temp; printf("Please input a numbers:\n"); scanf("%d",&a);
temp=a%2; if(temp==0) printf("The number %d is an even!\n",a); else printf("The number %d is an odd number!\n",a); }
6.已知a1 =8,an =an-1 +bn ,b1 =1,bn =bn-1 +3,求{ a }前10项之和。 #include<> #define N 10 void main() { int a[N]={8},b[N]={1},i,sum=0; for(i=1;i { b[i]=b[i-1]+3; } for(i=1;i { a[i]=a[i-1]+b[i]; } for(i=0;i { sum+=a[i]; }
printf("The sum is:%d\n",sum); }
7.有一个函数 写一程序,输入x,输出Y的值。 #include<> void main() { float x,y; printf("Please input a float number x=:"); scanf("%f",&x); printf("x=%f",x); if(x<1) y=x; else if(x>=10) y=3*x-11; else y=2*x-1;
printf("The value of y is:%.3f\n",y); }
8.给一个不多于5位的的正整数,要求:求出它是几位数,分别打印出每一位数字,最后按照逆序打印各位数字,例如原数为321,应输出为123。 #include<> #define N 99999 #define M 5 void main() { int i,j,k,m,b[M]; long int a,temp; printf("Please input a number:\n"); scanf("%ld",&a); if(a<0||a>N) printf("Error in input data!!!\n"); else { temp=a; for(i=0;temp!=0;i++) { temp=temp/10; } m=i; printf("The number a=%ld have %d single numbers\n",a,m);
temp=a; for(j=0;j { b[j]=temp%10; temp=temp/10; } printf("The origal numbers are:\n"); for(k=m-1;k!=-1;k--) { printf("%d",b[k]); } printf("\n"); printf("every letter is:"); for(j=m-1;j>=0;j--) printf("%d\t",b[j]); printf("\n"); printf("The inverted numbers are:\n"); for(j=0;j { printf("%d",b[j]); } printf("\n"); }
}
9. 编写一猜数游戏程序,随机产生某个整数,从键盘反复输入整数进行猜数,当未猜中时,提示输入过大或过小.猜中时,指出猜的次数.最多允许猜20次. #include<> #include<> #include<> #define N 10 void main() { int a,b,i; randomize(); a=random(N); printf("Please input number you guess:\n"); for(i=0;i<20;i++) { scanf("%d",&b); if(b==a) { printf("Congratulation!!\nYour guessed number is right!\n"); printf("The time(s) you have guessed is %d",i+1); break; } else if(b>a) printf("Your number is too big!!\n"); else printf("Your number is too small!!\n"); } printf("\n"); }
10.计算1-999中能被3整除,且至少有一位数字是5的所有整数。 #include<> #define N 999 void main() { int i,b,c,d; printf("The numbers are:\n"); for(i=1;i<=N;i++) { if(i%3) { b=i/100; c=(i-100*b)/10; d=i%10; if(b==5||c==5||d==5) printf("%d\t",i); }
} } 11.输入两个整数,求它们的最大公约数和最小公倍数。 #include ""
void main() { int a,b,c,d; int comYueShu; int comBeishu; printf("please input two number!"); scanf("%d %d",&a,&b); c=a; d=b; int r; 入一个整数,求它包含又多少个2的因子。(例如,8含有3个2的因子,10含有一个2的因子,15不含有2的因子。) #include ""
void main() { int a=0; int integerGene=0; printf("input a number!\n"); scanf("%d",&a);
while(a%2==0) { integerGene++; a/=2; }
printf("%d\n",integerGene); }
13.计算1!,2!,3!…10! #include<> #define N 10
void main() { int i; long int a=1; printf("The outcome are:\n");
for(i=1;i<=10;i++) { a*=i; printf("The result of %d! is %ld\n",i,a);
} }