c++第10次作业

c++第10次作业
c++第10次作业

实验十:多态性(二)

1、定义一个哺乳动物Mammal类,再由此派生出狗Dog类,二者都定义Speak()成员函数,

基类中定义为虚函数,定义一个Dog类的对象,调用Speak函数,观察运行结果。

实验代码:

#include

using namespace std;

class Animal

{

public:

virtual void Speak();

};

void Animal::Speak()

{

cout<<"Animal中的SPEAK()函数被调用。";

}

class Dog:virtual public Animal

{

public:

virtual void Speak();

};

void Dog::Speak()

{

cout<<"Dog中的SPEAK()函数被调用。"<

}

void main()

{

Dog Dog1;

Dog1.Speak();

}

实验结果:

2、对Point类重载++(自增)、--(自减)运算符。

实验代码:

#include

using namespace std;

class Point

{

public:

Point(int x=0,int y=0){this->x=x;this->y=y;}

void show();

Point& operator++();

Point operator++(int);

Point& operator--();

Point operator--(int);

private:

int x,y;

};

void Point::show()

{

cout<<"该点坐标为"<<"("<

}

Point& Point::operator++()

{

x++;

y++;

return *this;

}

Point Point::operator++(int)

{

Point old=*this;

++(*this);

return old;

}

Point& Point::operator--()

{

x--;

y--;

return *this;

}

Point Point::operator--(int)

{

Point old=*this;

--(*this);

return old;

}

int main()

{

Point myPoint(4,3);

cout<<"第一次输出";

myPoint.show();

cout<<"Show myPoint++: ";

(myPoint++).show();

cout<<"Show ++myPoint: ";

(++myPoint).show();

cout<<"Show myPoint--: ";

(myPoint--).show();

cout<<"Show --myPoint: ";

(--myPoint).show();

return 0;

}

实验结果:

3、声明一个Shape抽象类,再此基础上派生出Rectangle和Circle类,二者都有GetArea()

函数计算对象的面积,GetPerim()函数计算对象的周长。

实验代码:

#include

#include

class person

{

public:

person(char *pn);

person(person &p);

~person();

private:

char *pname;

};

person::person(char *pn)

{

cout<<"构造函数: "<

pname=new char[strlen(pn)+1];

if(pname!=0)

strcpy(pname,pn);

}

person::person(person &p)

{

cout<<"拷贝"<

pname=new char[strlen(p.pname)+1];

if(pname!=0)

strcpy(pname,p.pname);

}

person::~person()

{

cout<<"析构函数: "<

pname[0]='\0';

delete pname;

}

void main()

{

person p1("david");

person p2(p1);

}

实验结果:

4、编写一个程序,计算正方体、球体和圆柱体的表面积和体积。(要求:抽象出一个公共

基类作为虚基类,运用虚函数的知识设计程序)

实验代码:

#include

using namespace std;

#define n 3.14

class Shuju

{

public:

virtual void biaomianji()=0;

virtual void tiji()=0;

};

class zhengfangti:public Shuju

{

public:

zhengfangti(int a){this->a=a;}

void biaomianji();

void tiji();

private:

int a ;

};

void zhengfangti::biaomianji()

{

cout<<"正方形的表面积为"<<6*a*a<

}

void zhengfangti::tiji()

{

cout<<"正方形的体积为"<

}

class qiuti:public Shuju

{

public:

qiuti(int b){this->b=b;}

void biaomianji();

void tiji();

private:

int b ;

};

void qiuti::biaomianji()

{

cout<<"球体的表面积为"<<4*n*b*b<

}

void qiuti::tiji()

{

cout<<"球体的体积为"<<(4.0/3.0)*n*b*b*b<

}

class yuanzhuti:public Shuju

{

public:

yuanzhuti(int r,int d){this->r=r;this->d=d;}

void biaomianji();

void tiji();

private:

int r,d;

};

void yuanzhuti::biaomianji()

{

cout<<"圆柱体的表面积为"<<2*n*r*r+2*n*r*d<

void yuanzhuti::tiji()

{

cout<<"圆柱体的体积为"<

}

void fun(Shuju *ptr)

{

ptr->biaomianji();

}

void fun1(Shuju *ptr)

{

ptr->tiji();

}

void main()

{

zhengfangti zheng(3);

qiuti qiu(4);

yuanzhuti yuanzhu(3,4);

fun(&zheng);

fun1(&zheng);

fun(&qiu);

fun1(&qiu);

fun(&yuanzhu);

fun1(&yuanzhu);

}

实验结果:

第六次作业

习题九 一、选择题 9-1.C语言程序由函数组成。它的。 A.主函数必须在其它函数之前,函数内可以嵌套定义函数 B.主函数可以在其它函数之后,函数内不可以嵌套定义函数 C.主函数必须在其它函数之前,函数内不可以嵌套定义函数 D.主函数必须在其它函数之后,函数内可以嵌套定义函数 9-2.一个C语言程序的基本组成单位是。 A.主程序B.子程序C.函数D.过程 9-3.以下说法中正确的是。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 9-4.已知函数abc的定义为: void abc ( ) { ....... } ?则函数定义中void的含义是。 A.执行函数abc后,函数没有返回值B.执行函数abc后,函数不再返回??C.执行函数abc后,可以返回任意类型D.以上三个答案全是错误的 9-5.在以下对C语言的描述中,正确的是。 A.在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参B.C语言函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中 9-6.以下叙述中错误的是。 A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B.在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C.在C语言中,外部变量的隐含类别是自动存储类别 D.在C语言中,函数形参的存储类型是自动(auto)类型的变量 9-7.说明语句"static int i=10;"中"i=10"的含义是。 A.只说明了一个静态变量B.与"auto i=10;"在功能上等价 C.将变量i初始化为10 D.将变量i赋值为10 9-8.C语言中的函数。

C语言第七、八章补充作业-答案

第七章数组补充作业 【1】在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 【2】以下对一维整型数组a的正确说明是 D 。 A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n]; 【3】若有说明:int a[10];则对a数组元素的正确引用是 D 。 A)a[10] B)a[] C)a(5) D)a[10-10] 【4】以下能对一维数组a进行正确初始化的语句是 C 。 A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]={10*1}; 【5】以下对二维数组a的正确说明是 B 。 A)int a[3][]; B)double a[1][4]; C)float a(3,4); D)float a(3)(4); 【6】若有说明:int a[3][4];则对a数组元素的正确引用是 D 。 A)a[2][4] B)a[1,3] C)a(2)(1) D)a[1+1][0] 【7】以下不能对二维数组a进行正确初始化的语句是 C 。 A) int a[2][3]={0}; B) int a[][3]={{1,2},{0}}; C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[][3]={1,2,3,4,5,6}; 【8】指出下面各说明语句中哪些是合法的:(多选) A. int abcd[0x80]; B. char 9ab[10]; C. char chi[-200]; D. int aaa[5]={3,4,5}; E. float key[]={,,1,0}; F. char disk[]; G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6}; 答案: ADE 【9】下面程序中有错误的行是 D (每行程序前面的数字表示行号)。 1 main()

c语言第五次作业

第五次作业:函数 1.自然数的计算 编写自己的两个函数,分别求出两个整数的最大公约数和最小的公倍数。 编写一个程序,功能是能够由键盘输入两个整数,并能调用自己编写的函数,计算并输出这两个整数的最大公约数和最小公倍数。 程序代码: #include void main() { intgreatest_common(intx,int y),lowest_common(intx,int y); inta,b,c,d; printf("please input two integer:"); scanf("%d,%d",&a,&b); c=greatest_common(a,b); d=lowest_common(a,b); printf("最大公约数为%d,最小公倍数为%d\n",c,d); } intgreatest_common(intx,int y) { inti,min; if (x>y)min=y; else min=x; for(i=min;i>=1;i--) if ((x%i==0)&&(y%i==0)) return(i); } intlowest_common(intx,int y) { inti,max; if (x>y) max=x; else max=y; for (i=max;;i++) if((i%x==0)&&(i%y==0)) return (i); }

2.字符串连接 请使用字符数组,编写自己的字符串连接函数。 编写一个程序,功能是能够由键盘输入两个字符串,并能调用自己编写的字符串连接函数,输出新的字符串。 #include #include void main() { char link(char a[40],char b[20]); char str1[40]={"0"},str2[20]; printf("请输入第一个字符串:"); gets(str1); printf("请输入第二个字符串:"); gets(str2); printf("合并后的字符串为:\n"); link(str1,str2); puts(str1); } char link(char a[40],char b[20]) { inti,j; i=strlen(a); for(j=0;b[j]!=0;j++) a[i+j]=b[j];

交通大学C语言第二次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能 确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调 用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静 态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

2013c语言第5次作业答案

C语言第5次作业及答案 1:[论述题]8,已知公鸡每只5元,母鸡每只3元,小鸡一元3只,现有100元买鸡100只,问其中公鸡、母鸡、小鸡各多少只?编程求解。参考答案:8,提示:此题与上题类似,实际是求一个不定方程组,令公鸡有x只,母鸡 有y只,小鸡z只,进行C语言求解。 此题还有另外一些限制:只有100元,所以公鸡不超过20只,母鸡不超过33只。考虑这些限制可以提高程序运行效率 #include void main() { int x,y,z,j=0; printf("Folleing are possible plans to buy 100 fowls with 100 Yuan.\n"); for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/ for(y=0;y<=33;y++) /*内层循环控制鸡母数y在0~33变化*/ { z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/ if(z%3==0&&5*x+3*y+z/3==100) /*验证取z值的合理性及得到一组解的合理性*/ printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j,x,y,z); } } 2:[论述题]7,一个笼子中有鸡兔各若干只,已知共有50只脚,20张嘴,问笼中各有鸡多少只,兔多少只?编程实现求解。 参考答案:7、提示:有嘴20张,有脚50只,考虑鸡有2只脚,兔有4只脚,鸡兔都只有一 张嘴,此题实际是计算一个二元一次方程组(令鸡有x只,兔有y只) main() { int x,y; for(x=1;x<20;x++) {

交通大学C语言第二次作业教案资料

交通大学C语言第二 次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就 能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要 调用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的 静态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

第六次c语言作业

第六次课作业 下次课默写交换排序、选择排序和冒泡排序。 习题6-1 题码:章节:数组考查点:一维数组的定义、引用及格式输出难度:2 编写一程序p717.C实现以下功能 输入10个整型数存入一维数组,输出值和下标都为奇数(数组第1个元素的下标为0)的元素及其个数。编程可用素材:printf("Input 10 integers.\n")...、printf("count=...\n"...、 printf("a[...]=...\n"...。 程序的运行效果应类似地如图1所示,图1中的2 45 34 56 78 12 41 55 86 37是从键盘输入的内容。 图1 程序运行效果示例 习题6-2 题码:章节:数组考查点:一维数组定义、输入和输出的掌握,对递推算法的掌握难度:2 编写一程序p725.C实现以下功能 利用数组,求斐波拉契数列的前n(n的范围为:3~20)项,并输出到屏幕上(数和数之间用字符'\t'隔开),斐波拉契公式:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2) (n≥3)。编程可用素材:printf("input a data(3--20): ")...。 程序的运行效果应类似地如图1所示,图1中的11是从键盘输入的内容。 图1 程序运行效果示例 习题6-3 题码:章节:数组考查点:一维数组的应用难度:2 编写一程序p718.C实现以下功能 有一递推数列,满足f(0)=0,f(1)=1,f(2)=2, f(n+1)=2f(n)+f(n-1)f(n-2) (n>=2), 编写程序求f(n)的值(n由键盘输入,13>=n>=2)。编程可用素材:printf(“Input n (13>=n>=2): ”)...、printf(“\nf(...)=...\n”...。 程序的运行效果应类似地如图1所示,图1中的10是从键盘输入的内容。 图1 程序运行效果示例 习题6-4 题码:章节:数组考查点:键盘输入技巧的掌握和二维数组的应用,判断条件的设定难度:2 编写一程序p217.C实现以下功能 求任意的一个m×m矩阵的对角线上元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf("Please input m: ")...、 printf("\nPlease input array:\n")...、printf("\nsum=...\n"...。 程序的运行效果应类似地如图1所示,图1中的5和 1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634 3235 567 24 8465 25 是从键盘输入的内容。

C语言第5次作业 简单程序设计

单选题: 1、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A.12 B.34 C.1234 D.提示出错、无结果 学生答案: C 参考答案: C 2、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A.scanf("%d%d%d",&a,&b,*d); B.scanf("%d%d%d",&a,&b,&d); C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d); 学生答案: B 参考答案: A 3、以下合法的赋值语句是 A.x=y=100 B.d--; C.x+y; D.c=int(a+b); 学生答案: D 参考答案: B 4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A.10,3 B.9,3 C.9,2 D.10,2 学生答案: D 参考答案: D 5、以下程序的输出结果是 main()

{ int a=3; printf("%d\n",(a+=a-=a*a));} } A.-6 B.12 C.0 D.-12 学生答案: D 参考答案: D 6、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A.9 B.12 C.13 D.14 学生答案: A 参考答案: A 7、下列程序执行后的输出结果是 main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } A.G B.H C.I D.J 学生答案: A 参考答案: A 8、下列程序执行后的输出结果是 main() { char x=0xFFFF; printf("%d \n",x--); } A.-32767 B.FFFE C.-108 D.-32768

C语言程序设计 第四次作业

实验报告 课程名称C语言程序设计 实验项目顺序结构程序设计 实验仪器___________________________ 系别__________自动化系__________ 专业_____自动化__________ 班级/学号自动化1907/2019010737____学生姓名________钱仪嘉_____________ 实验日期_________2019.11.28________ 成绩_______________________ 指导教师__________尤建清__________

一、实验目的 (1)掌握算术表达式、赋值表达式、关系表达式和逻辑表达式的计算。 (2)掌握常见数学库函数的使用。 (3)掌握C语言中基本输入、输出函数的使用方法。 (4)掌握选择结构程序设计的一般方法 二、实验内容 1.第一题 实验题目:编写自定义函数,函数的功能是:将华氏温度F转化为摄氏温度C。公式为:C=5/9(F-32).编写程序,输出一个华氏温度与摄氏温度对照表,其中华氏温度值为32~100,步长为4。 #include double convent(int f); int main() {int f; float c; printf("华氏温度\t摄氏温度\n"); for(f=32;f<=100;f=f+4) { c=convent(f); printf("\t%d\t%10.2f\n",f,c); } } double convent(int f) { double c; c=5.0/9*(f-32); return c; }

实验题目:编写自定义函数,该函数有一个整型参数,函数的功能是当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时返回值为1。编写程序从键盘输入任意10整数,统计其中奇数和偶数分别多少个。判断奇偶性使用自定义函数实现。 #include int isEven(int n); int main() { int i,n,odd=0,even=0; printf("请输入10个整数:"); for(i=1;i<=10;i++) { scanf("%d",&n); if(isEven(i)==1)odd++; else even++; } printf("其中有%d个偶数\n",even); printf("其中有%d个奇数\n",odd) ; return 0; } int isEven(int n) { if(n%2==0) return 0; else return 1; }

C语言作业5

28 组成最大数 成绩: 10 / 折扣: 0.8 任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。 输入: 自然数 n 输出: 各位数字组成的最大数 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 1593? 以文本方式显示 1. 9531? 1秒 64M #include #include int main(){ char a[10000]; int x[10]={0}; scanf("%s",a); int n=strlen(a); for(int i=0;i=0;i--) for(int j=0;j

输入: 第一行龙头数n , 勇士人数m (1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l 输出: 如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ” 测试输入期待的输出 时间限制内存限制额外进程 测试用例 1 以文本方式显示 1. 2 3? 2.5? 3.4? 4.7? 5.8? 6.4? 以文本方式显示 1.11? 1秒64M 0 测试用例 2 以文本方式显示 1. 2 1? 2.5? 3.5? 4.10? 以文本方式显示 1.bit is doomed!? 1秒64M 0 #include int main() { int dragon,hero; scanf("%d%d",&dragon,&hero); int dragonhead[100]={0}; int herohight[100]={0}; //input for(int i=0;i

C语言2016下半年第二次作业

第2次作业 一、单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是( B )。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B ) fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是( D )。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是( C )。 A)char *str; str=”string”; B)char str[7]={…s?, …t?, …r?, …i?, …n?, …g?} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1); 5.以下程序的输出结果是( B )。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是( B )。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

c语言第六次作业

第五题 #include int main () { int a[10][10],i,j,n; printf("Input n:"); scanf("%d",&n); printf("* "); for(j=1;j<=n;j++) { a[0][j]=j; printf("%d ",a[0][j]); } printf("\n"); for(i=1;i<=n;i++) { a[i][0]=i; printf("%d ",a[i][0]); for(j=1;j<=i;j++) { a[i][j]=a[i][0]*a[0][j]; printf("%d ",a[i][j]); } printf("\n"); } return 0; } 第二题 #include int main(void) { int a[12]={31,0,31,30,31,30,31,31,30,31,30,31};

int year,month,day,sum=0,i; printf("Input year,month,day:"); scanf("%d%d%d",&year,&month,&day); if(year%4==0&&year%100!=0||year%400==0) a[1]=29; else a[1]=28; for(i=0;i int main () { int n,i,j,a[6][6],index1,index2,index3,max; printf("Input n:"); scanf("%d",&n); printf("Input arry:"); for(i=0;i=max)

C语言作业

实验一 C程序的运行环境及简单程序编写(一) 一、实验目的 1. 了解VC++6.0集成环境的基本操作方法。 2. 了解在该系统上如何编辑、编译、连接和运行一个C程序。 3. 通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1. 打印输出你的姓名,年龄,地址信息。 2. 编写程序,实现输出 ********************************************* C语言程序设计 ********************************************* 3. 编写程序,求2个整数的和、差、积、商。 实验二C程序的运行环境及简单程序编写(二) 一、实验目的 1. 编写运行简单的C程序,了解C源程序的特点。 二、实验内容 1. 编写程序,已知长方形的长为8cm,宽为3cm,求长方形的周长和面积。 2. 在上一题的源代码中,用2种注释方法,添加注释内容: 这是一个简单的C语言程序。 3. 编写程序,实现输出三行文字,第一行 Print: (1)\\\\\\\\\\ (2)&&&&&&&&&& (3)|||||||||| 实验三数据的存储与运算(一) 一、实验目的

1. 掌握变量的定义及使用 2. 掌握整型数据在程序中的表示及使用 二、实验内容 1.教材P19例2.1 2. 编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的面值为20美 元、10美元、5美元和1美元钞票来付款。 运行结果: Ener a dollar amount:93 Result: $20 bills:4 $10 bills:1 $5 bills:0 $1 bills:3 3. 输入2个变量的值,交换这2个变量的值后输出。 Input (x,y):2,3 output(x,y):3,2 实验四数据的存储与运算(二) 一、实验目的 1. 掌握整型数据在程序中的表示及使用 2. 掌握实型数据在程序中的表示及使用。 二、实验内容 1.教材P24例2.2 2.教材P46习题1 3. 编写一个程序,要求用户输入一个两位数,然后逆序打印出这个数。 Enter a two-digit number:28 The reversal is :82 实验五数据的存储与运算(三) 一、实验目的 1. 掌握符号常量、字符型数据、字符串的应用 2. 掌握强制类型的转换 二、实验内容 1.给出园半径,求园的体积v=4/3πr3 2.将小写字母转换为大写字母,并将其按字符和整数两种方式输出。 3.输入从午夜开始的秒数total_sec,请计算出等价的时间,用小时(0 ~23)、分钟(0 ~59) 和秒(0 ~59)表示。(建议使用%运算符) Enter total seconds:2590 Time:0:43:10 4.编程计算1/2+1/3+1/5的结果。 实验六数据的存储与运算(四)

5~6次C语言上机作业

实验5 函数(1) 【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。调试运行程序,观察出现了什么错误,提出两种修改方案。 【实验题5-2】下程序的功能:输出3~1000之的间的素数。请选择合适的内容填入程序的空白处,并调试运行程序。

【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。要求计算n^3用函数实现。 【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数

实现。 注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n”on integer constant. 调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。Ifun=fun(int n) × 【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。要求如下: 1)编写一个函数计算n!; 2)编写主函数,输入n和m, 调用第1)项中的函数完成计算; 3)输出并计算C58、C712的结果。

【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。但程序有错,请上机调试并改正错误。

【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。在程序空白处填写适当的编译预处理命令。 【实验题6-3】用for循环输出20个0~99之间的随机数。要求没输出五个随机数换一行。 【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。要求用库函数实现。

c语言第六次作业解析

第六次作业:指针 (以下题目如无特殊声明,请使用指针技术实现,尽量不要使用数组作为形参,也尽量避免使用数组下标引用数组元素) 1.数组元素循环移位 有n个整数,使前面的各整数顺序向后移动m个位置,后面的m个整数则变成最前面的m个数。写一函数实现以上功能。 在主函数中输入n及n个整数,输入m (m void main() { void inv(int *p,int n,int m); int n,m,a[20],*p; printf("please input n="); scanf("%d",&n); printf("please input %d numbers:",n); p=a; while(p

2. 矩阵元素的排序 将一个5×5的整数型矩阵中各元素重新排序。排序规则为,矩阵元素按照从左到右,从上到下的顺序依次递增,即 4,41,10,14,03,02,01,00,0.......a a a a a a a a ≤≤≤≤≤≤≤。 要求编写一个函数实现上述排序功能。 在主函数中输入该矩阵,调用编写的上述函数,然后输出排序后的矩阵。 #include void main() { void inv(int (*x)[5]); int i,j,a[5][5]; int (*p)[5]; printf("please input an 5*5 array:\n"); p=a; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",*(p+i)+j); inv(p); printf("the new array:\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%4d",*(*(p+i)+j)); putchar('\n'); }

C语言练习作业及参考答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A) 预处理部分B)变量说明部分 C) 函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

c语言练习卷(超级有用)

LL1007 C语言程序设计 江立 第二次书面作业 这里写名字 这里写学号 ANT

书面作业_7 请按下列要求,编写相应程序: 1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。 2、用rand()函数产生100000个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。(提示:统计次数用一维数组来存放) 3、将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组。 注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。假定a 数组有8个元素,原始内容如表-1所示: 表-1 数组a 原来的内容 现要求改变成如表-2所示: 表-2 重新排列后的数组 a

请按下列要求,编写相应程序: 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代表密码。

请按下列要求,编写相应程序: 1、定义一个求最大公约数函数intgcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。(编程思路参考第6讲课件例子) 2、定义一个将十进制数转换成十六进制数的函数void dec2hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第6讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。 3、定义一个递归函数intsum_of_square(int n),计算表达式:12+22+32+…+n2的值。在主函数中输入n值,通过调用sum_of_square() 输出结果。

北航大一上c语言第四五六七八次作业

3. 字母频率统计 【问题描述】 编写程序从标准输入中读入一段英文,统计其中小写字母出现次数,并以柱状图的形式显示其出现次数。 【输入形式】 在标准输入上输入一段英文文章(可能有一行,也可能有多行),在新的一行的开头输入ctrl+z键表示结束。 【输出形式】 在屏幕上依次输出表示每个小写字母出现次数的柱状图(以“*”字符表示柱状图,空白处用空格字符表示,某个小写字母出现多少次,就显示多少“*”字符;柱状图的高度以出现最多的字母次数为准),在最后一行依次输出26个小写字母。 【样例输入】 The computing world has undergone a revolution since the publication of The C Programming Language in 1978. 【样例输出】 【样例说明】 在输入的英文短文中,小写字母a出现了6次,所以其上输出了6个字符"*"。出现次数最多的是字母n,所以柱状图的高度为9个字符。字母j没有出现,所以其上都为空格字符。 【评分标准】 该题要求输出柱状图表示的字母出现次数,共有5个测试点。上传C语言文件名为bar.c。

【输入形式】从标准输入读取顶点坐标。格式为:第一行是点的个数N(3≤N≤15),后面紧接着N 行,每行两个数字(由空格隔开),分别表示该点的X、Y坐标(0≤X,Y≤32767)。所有点的坐标互不相同,且按顺时针次序给出。 输入数据确保该多边形是一个凸多边形。 【输出形式】向标准输出打印一个浮点数,是该多边形的面积。该浮点数保留两位小数。 【输入样例】 4 3 3 30 10 1 2 【输出样例】 5.00 【样例说明】输入数据表示了如图所示的四边形。其面积为5.00。 提示:求三角形面积可用海伦公式,求平方根可用头文件中定义的sqrt函数。 【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:points.c。

相关文档
最新文档