C上机作业复习资料讲解
C语言程序设计上机指导书及答案

姓名:_________________ 学号:_________________ 专业:_________________日期:_________________指导原则:促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法目的:1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。
要求:1,复习与本次实验相关的教学内容2,了解集成开发环境的操作步骤3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
第一次上机作业熟悉C语言集成开发环境实验目的:1,熟悉C语言集成开发环境2,掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。
3,掌握C语言程序的基本结构实验要求:1, 程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。
2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。
实验内容:1,在D盘新建文件夹:D:\C语言程序\×××(所在班级如0709401)\×××(自己学号或姓名如01),作为以后所做程序的存放位置。
C程序设计第4次上机内容

《C语言程序设计》第4次上机内容(第10~11周)说明:同第1次上机内容的说明一样。
一、上机练习部分1.阅读理解教材第6章的习题6.1中的三个程序,通过阅读理解先写出其结果,并上机验证。
二、编写程序1.编写程序其功能是:任意输入20个整数到一维数组中,计算:(1)正数的个数和正数的和;(2)负数的个数和负数的和;(3)零的个数。
最后输出结果。
提示:(1)输入20个整数之后存入一维数组(2)定义sum1和sum2两个变量分别存放正数和负数的和,再定义n1,n2,n3三个变量分别存放正数、负数和零的个数。
(3)处理:用循环结构依次对每一个数组元素的数进行判断,如果是正数则进行正数所对应的操作,如果是负数则进行负数所对应的操作,如果是零则进行零的操作。
运行结果:2.编写程序其功能是:输入10个任意数,求这10个数中的最大值、最小值和平均值,并且给出最大值与最小值在这组数中位置。
提示:(1)输入10个数用一维数组存放。
(2)设4个变量分别用来存放最大值、最大值的位置、最小值、最小值的位置。
用一个变量先存放累加和再存放平均值(考虑一下该变量用什么类型)。
(3)一般先选取数组中第一个数为最大值和最小值变量的初值,第一个数的下标0为最大值和最小值位置变量的初值。
(4)利用循环结构将最大、最小值变量的值和所有数依次进行比较,如果某个数大于最大值则把该数及它的下标赋给相应变量,如果某个数小于最小值则把该数及它的下标赋给相应变量。
另外把每个数要进行累加。
(5)循环结束,计算平均值,最后输出结果。
运行结果:3.编一个程序,输入一个5行5列的整数矩阵,判断该矩阵是否对称矩阵,是则输出“该矩阵是对称矩阵!”,否则输出“该矩阵不是对称矩阵!”。
(说明:对称矩阵的定义是所有第i行j列的元素值均等于第j行i列元素的值。
)比如以下矩阵就是对称矩阵。
5 4 3 2 14 5 6 7 83 6 5 9 82 7 9 5 31 8 8 3 5提示:(1)定义一个二维数组,定义一个变量flag为判断矩阵是否为对称矩阵的标志初值为1(flag为1表示对称矩阵,为0表示不对称矩阵)。
《C语言程序设计》上机指导书04

上机04 循环结构程序设计(1)上机课时课内:2课时;课外:2课时上机类型验证性上机上机目的1.理解C语言循环结构程序设计的基本概念和使用。
2.掌握C语言三种基本的循环结构程序语句while, do…while…,for。
上机内容建立一个“上机4”文件夹,将此次上机报告4以及每个任务的C语言文件(只要.c 格式文件,其他删除)放入该文件夹,压缩后提交至ftp://10.20.46.253/(用户名和密码均为wy)。
1、循环结构之while循环小明在英语测验的时候,"computer"这个单词写错了,小明为了记住该单词,下狠心要抄写10遍,然后小明苦兮兮的抄写了10遍。
这里我们就可以说小明在循环抄写。
那我们将这种反复不停的执行某个动作称之谓循环,C语言中有三种循环结构,先看一下C语言while循环的结构其中表达式表示循环条件,执行代码块为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体代码块。
其执行过程可用下图表示:小明现在想偷懒了,不想手抄了,他用代码实现如下:使用while语句应注意以下几点:1、while语句中的表达式一般是关系表达或逻辑表达式,当表达式的值为假时不执行循环体,反之则循环体一直执行。
2、一定要记着在循环体中改变循环变量的值,否则会出现死循环(无休止的执行)。
3、循环体如果包括有一个以上的语句,则必须用{ }括起来,组成复合语句。
2、循环结构之do-while循环小明英语测验,“computer”这个单词再一次写错了,小明又决定抄10遍,但是小明想“我写一遍就能记住了,剩下的交给计算机帮我完成!”。
对于小明这个想法,就可以用到C语言中的do-while循环,一般形式如下:do-while循环语句的语义是:它先执行循环中的执行代码块,然后再判断while 中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。
因此,do-while 循环至少要执行一次循环语句。
C语言上机知识点汇总(精选)

制作人:王淑琴 2008年8月
上机考试
时间:90分钟
题型:程序填空、程序改错、程序设计 分值:程序填空(30分)、程序改错(30分)、 程序设计(40分)
上机考试题目特点
填空题:下划线及序号指定 改错题:错误行是指定的 程序设计:补充自定义函数体
讲解内容(上机)
#include <stdio.h> #include <string.h> #define N 8 typedef struct { char num[10]; int year,month,day ; }STU; /**********found**********/ ___1___ fun(STU *std, char *num) { int i; STU a={"",9999,99,99}; for (i=0; i<N; i++) /**********found**********/ if( strcmp(___2___,num)==0 ) /**********found**********/ return (___3___); return a; }
结构体数组
人员的记录由编号和出生年、月、日组成,N名人 员的数据已在主函数中存入结构体数组std中。函 数fun的功能是:找出指定出生年份的人员,将其 数据放在形参k所指的数组中,由主函数输出,同 时由函数值返回满足指定条件的人数。 请在程序的下划线处填入正确的内容并把下划线 删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!
文件
• 给定程序的功能是调用fun函数建立班级通 讯录。通讯录中记录每位学生的编号、姓 名和电话号码。班级的人数和学生的信息 从键盘读入,每个人的信息作为一个数据 块写到名为myfile5.dat的二进制文件中。
C程序设计复习资料(含答案)

C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
第讲C语言上机操作

Scanf 支持的格式
%c %d %f %o %s %u %x %% %[ ] 单个字符 十进制整数 十进制浮点数 八进制数 字符串 无符号十进制数 十六进制数 输入百分号 % 扫描字符集合 一个格式说明可以带有几个修饰符,用来指定显示 宽度,小数尾书及左对齐等: L/l 长度修饰符,输入"长"数据 W 整型常数,指定输入数据所占宽度
程序设计
古代兵法《龙门阵》示例分析
// 文件名:Longmenzheng.c // 功 能:在屏幕上显示由字符组成的图形 int main() { printf("\n%10s","1"); printf("\n%11s","2 2"); printf("\n%12s","3 3"); printf("\n%11s","2 2"); printf("\n%10s","1"); printf("%c",7); printf("\n \n"); system("pause"); }
}
程序设计
新游戏《鹦鹉学舌》示例分析
网络协作知识建构
指出以下各行的运行结果
第 6行
第7行 第9行
第12行
第14行 第15行
本地播放 远程播放
程序设计
新游戏《鹦鹉学舌2》示例分析
// 文件名:Yingwuxueshe2.c // 功 能:在屏幕上显示用户输入的字符串 # include "stdio.h" int main() { char string[50]; printf("请输入一个字符串:"); scanf("%[^\n]",string); // scanf("%s",string);不能接收空格符 // 下面语句用于清除输入流的残存信息 fflush(stdin); printf("你输入的字符串是:%s\n",string); printf("%c",7); printf("\n \n"); system("pause"); }
C--上机作业答案讲解

第一章作业答案.1。
编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F—32)程序代码:#include〈iostream>using namespace std;void main(){float F,C;cout〈<”Please input F:”;cin〉>F;C=5*(F-32)/9。
0;cout<<”C="<〈C<〈endl;}运行结果:2。
编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积.程序代码:#include〈iostream〉using namespace std;#define PI 3。
14159void main(){float r,h,v;cout<<”Please input r h:”;cin〉>r>〉h;v=PI*r*r*h;cout〈<”v="〈<v〈<endl;}运行结果:3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area。
若则area=程序代码:#include〈iostream〉#include〈math。
h〉using namespace std;void main(){float a,b,c,p,area;cout〈〈"Please input a b c:";cin>〉a〉>b>>c;if((a+b〉c)&&(b+c>a)&&(a+c〉b)){p=(a+b+c)/2.0;area=sqrt(p*(p—a)*(p—b)*(p-c));cout<<"area=”〈<area<〈endl;}else cout〈<"input error!"〈<endl;运行结果:4。
输入a,b,c的值,求一元二次方程:的解。
最新二级C语言上机部分考前复习资料教学教材

t=t*i;
/* t 负责求解 N! */
s=s+t; /* s 负责求和,将每次求解的阶乘都加到 s 上 */
}
return s;
}
关键代码解析:
求 n 的阶乘: for(i=1;i<=n;i++)
{
t=t*i; }
还可以用递归的方法:
long fun(int n){
if( n>1)
return ( n*fun(n-1) );
/* 互换首尾的字符,实现
逆转 */
}
printf(" 逆转后的字符串: %s",str);
}
7.N*N 矩阵的操作
常见考法: 将左三角元素置 0,将矩阵转置, 求矩阵周边元素的值
for(i=0;i<N;i++) for(j=0; j<i ;j++) a[i][j]=0;
将 右 三 角 for(i=0;i<N;i++) 元素置 0 for(j=0; j<i; j++)
a[j][i]=0;
/*a[i][j] 是左下三角元素 */ /*a[j][i]
是右下三角元素 */
此种类型的题目,只要获得了左下三角元素和右下三角元素,就
容易求解了!
8. 整除问题
例如:求 100—— 200 内能别 2 整除不能被 3 整除的所有整数
void fun()
{
int a[100],j=0;
立身以立学为先,立学以读书为本
全国计算机等级考试二级 C 语言考前复习资料 上机常见题型汇编
一、填空题( 30 分)两至三个空
C语言上机复习

2求n之内的素数之和。 #include "math.h" main() {int i,m,n,k=0; scanf(“%d”,&n); m=0; for(i=2;i<=n;i++) if(f(i)>0) m=m+i; printf("%d\n",m); } } int f(int m) {int i,c; if(m==2) return 1; c=m-1; for(i=2;i<=c;i++) if(m%i==0)break; if(i==c+1) return 1; else return 0; }
3将一个正整数分解质因数,例如 输入90,输入90=2*3*3*5 #include "stdio.h" int main() {long n,j; scanf("%ld",&n); printf("%ld=",n); j=2; while(n>j) { if(n%j==0){printf("%ld*",j);n=n/j;} 复用 printf("%ld\n",n); }
1.多项式计算 1 找出通项 2 循环控制 n项或给定一个数(计算精度) 3 由多项式之和求多项式的项数
1求 ex=1+x+x2/2!+x3/3!+…+xn/n! 通项 t=xi/i! 或 t=t*x/i 初值t=1 给出n项: sacnf(“%f”,&x); t=1;e=1; for(i=1;i<=n;i++) {t=t*x/i; e=e+t;} 给出计算精度eps: scanf("%f",&x); scanf("%f",&eps); t=1;e=0;i=1; while(t>eps) {e=e+t;t=t*x/i;i++;} 注:判断满足相加 然后 e=e+t 给出之和e求多项式的项数n #include<stdio.h> void main() {double t,e,x;int i; scanf("%lf",&x); scanf("%lf",&e); t=x;i=1;e=e-1; while(e>t) {e=e-t;i++;t=t*x/i;} if(e==0) printf("%d\n",i-1); else printf("%d-%d\n",i-1,i); }
上机要点

1.2上机考试题型剖析C语言上机考试究竟考什么、怎么考,对于考生来说是至关重要的问题。
本部分内容就是通过对题库中试题的仔细分析,总结出上机考试的出题重点和难点。
1.2.1程序填空题程序填空题,分值为30分,是在一个完整的程序中挖出2~4个空让考生填写,所考查的内容一般是C语言中最基础的知识。
程序填空题中常考查的知识点简单总结如下。
1.基本语句(1)printf()函数。
其一般形式为:printf(“格式控制”,输出列表);①格式控制。
注意,格式控制符要根据题意和输出变量的类型来确定。
②输出列表。
输出列表可以是变量、表达式或函数。
注意,元素间要用逗号分隔。
(2)scanf()函数。
其一般形式为:scanf(“格式控制”,地址列表);①格式控制。
根据要求输入变量的类型和格式。
②地址列表。
元素间用逗号分隔,不要忘记使用取地址符号“&”。
2.变量、运算符及表达式(1)变量初始化。
在使用变量之前,首先需要对变量进行初始化。
①变量作为累加、累乘器。
当变量作为累加、累乘器使用时,需要对其初始化,一般累加器初始化为0,累乘器初始化为1,做题时应根据题目要求灵活运用。
②指针变量初始化。
指针变量在进行初始化时,根据其类型的不同而不同,如表1.3所示。
表1.3指针变量初始化指针变量的类型说明指针变量初始化指向数组的指针指针变量*p初始指向数组(如aa[100])的首元素p=aa;或p=&aa[0];p="Iloveyou"指向字符串的指针指针变量*p初始指向字符串(如“Iloveyou”)的首地址③数组初始化。
对数组初始化需要借助循环语句控制数组的下标。
(2)强制类型转换。
有些变量在运算时需要暂时对其进行类型转换,以适应程序的需要。
强制类型转换的一般形式为:(类型名)(表达式)例如,整数1和10相除,结果为一个实型数据,此时需要使用类型转换,表示为:(double)1/10。
这里还可以使用另外一种方法转换,因为算术运算符会根据两边元素类型的优先级来决定结果的类型,所以可以直接将1改为1.0,即1.0/10。
C语言编程及上机题

C语言编程及上机题C语言是一种广泛应用于计算机科学和软件开发的编程语言。
它被广泛使用于系统级编程、嵌入式系统、游戏开发、网络编程以及其他许多领域。
本文将介绍C语言的基础知识,并提供一些经典的C语言上机题。
一、C语言基础知识1. 数据类型和变量在C语言中,数据类型用于确定变量的存储空间和操作。
常见的基本数据类型有整型(int)、浮点型(float)、字符型(char)等。
定义变量时需要指定数据类型,并为变量分配内存空间。
2. 运算符和表达式C语言支持各种运算符,包括算术运算符、关系运算符、逻辑运算符等。
通过组合运算符和操作数,可以构建表达式,并实现计算和判断功能。
3. 控制流语句控制流语句用于控制程序的执行顺序和条件。
常见的控制流语句有条件语句(if-else)、循环语句(for、while、do-while)以及跳转语句(continue、break)等。
这些语句提供了对程序的灵活控制。
4. 函数函数是C语言程序的基本组成单元,可以将一段代码封装成一个函数,并通过调用函数来执行相应的功能。
函数可以返回值,也可以不返回值。
二、经典上机题以下是几个经典的C语言上机题,通过解答这些题目,可以巩固对C语言基础知识的理解和应用。
1. 计算阶乘编写一个函数,输入一个整数n,计算并输出n的阶乘。
示例输入输出:输入:5输出:1202. 查找最大值编写一个函数,输入一个整型数组和数组的长度,找出数组中的最大值并返回。
示例输入输出:输入:[2, 5, 10, 1, 8], 5输出:103. 字符串反转编写一个函数,输入一个字符串,将字符串反转后输出。
示例输入输出:输入:"Hello, World!"输出:"!dlroW ,olleH"4. 矩阵乘法编写一个函数,输入两个矩阵和矩阵的维度,计算并返回两个矩阵的乘积。
示例输入输出:输入:A = [[1, 2, 3], [4, 5, 6]], B = [[7, 8], [9, 10], [11, 12]], m = 2, n = 3, p = 2输出:[[58, 64], [139, 154]]5. 冒泡排序编写一个函数,输入一个整型数组和数组的长度,使用冒泡排序对数组进行升序排序,并输出排序后的数组。
计算机二级《C语言》上机题精讲

计算机二级《C语言》上机题精讲2016计算机二级《C语言》上机题精讲C语言是一门通用计算机编程语言,应用广泛。
为了帮助考生们更好、更有准备地参加考试,下面店铺为大家搜索整理了关于计算机二级《C语言》上机题精讲,欢迎参考练习,希望对大家备考有所帮助!想了解更多相关信息请持续关注我们店铺!1、给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!给定源程序:#include#include#define N 8typedef struct list{ int data;struct list *next;} SLIST;void fun( SLIST *h){ SLIST *p, *q;p=h->next;if (p!=NULL){ q=p->next;while(q!=NULL){ if (p->data==q->data){ p->next=q->next;free(___1___);q=p->___2___;}else{ p=q;q=q->___3___;}}}}SLIST *creatlist(int *a){ SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST));for(i=0; i{ q=(SLIST *)malloc(sizeof(SLIST));q->data=a[i]; p->next=q; p=q;}p->next=0;return h;}void outlist(SLIST *h){ SLIST *p;p=h->next;if (p==NULL) printf("\nThe list is NULL!\n");else{ printf("\nHead");do { printf("->%d",p->data); p=p->next; } while(p!=NULL); printf("->End\n");}}main( ){ SLIST *head; int a[N]={1,2,2,3,4,4,4,5};head=creatlist(a);printf("\nThe list before deleting :\n"); outlist(head);fun(head);printf("\nThe list after deleting :\n"); outlist(head);}解题思路:本题是考察考生对链表的操作,主要是解决删除链表中数据域值相同的结点。
c语言上机学到的知识

c语言上机学到的知识
在我的C语言上机实践中,我学到了许多有用的知识。
以下是我学到的一些重要的概念和技术:
1. 变量和数据类型:我学习了如何声明和使用变量,并了解了不同的数据类型,例如整数、浮点数和字符。
2. 控制流语句:我学习了如何使用if、else和switch语句来控制程序的流程。
3. 循环语句:我学习了如何使用for、while和do-while循环语句来处理重复的任务。
4. 数组和指针:我学习了如何声明和使用数组,并了解了指针的概念和使用方法。
5. 函数和库函数:我学习了如何编写和调用函数,并了解了常见的库函数,例如printf和scanf。
6. 文件处理:我学习了如何打开、读取和写入文件,并了解了文件输入/输出函数的使用方法。
7. 动态内存分配:我学习了如何在程序运行时动态地分配内存,并了解了malloc和free函数的使用方法。
总之,我的C语言上机实践为我提供了许多有用的知识和技能,这将使我在学习和开发更复杂的程序时更加自信和有效。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章作业答案.1.编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F-32)程序代码:#include<iostream>using namespace std;void main(){float F,C;cout<<"Please input F:";cin>>F;C=5*(F-32)/9.0;cout<<"C="<<C<<endl;}运行结果:2.编写程序,输入圆柱体的半径r和高h,计算圆柱体的体积。
程序代码:#include<iostream>using namespace std;#define PI 3.14159void main(){float r,h,v;cout<<"Please input r h:";cin>>r>>h;v=PI*r*r*h;cout<<"v="<<v<<endl;}运行结果:3.输入三角形的三条边a,b,c,利用海伦公式计算三角形的面积area.若则area=程序代码:#include<iostream>#include<math.h>using namespace std;void main(){float a,b,c,p,area;cout<<"Please input a b c:";cin>>a>>b>>c;if((a+b>c)&&(b+c>a)&&(a+c>b)){p=(a+b+c)/2.0;area=sqrt(p*(p-a)*(p-b)*(p-c));cout<<"area="<<area<<endl;}else cout<<"input error!"<<endl;运行结果:4.输入a,b,c的值,求一元二次方程:的解。
程序代码:#include<iostream>#include<math.h>using namespace std;void main(){float a,b,c,p,x1,x2;cout<<"Please input a b c:";cin>>a>>b>>c;p=b*b-4*a*c;if(p>=0){x1=(-b+sqrt(p))/(2*a);x2=(-b-sqrt(p))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}else cout<<"NO real root!";}运行结果第二章作业答案1.输入一个整数,计算该数的阶乘。
程序代码:#include<iostream>using namespace std;void main(){int i,n,p=1;cin>>n;for(i=1;i<=n;i++)p=p*i;cout<<n<<"!="<<p<<endl;}运行结果:2.连续输入若干个整数,输入0结束。
统计其正整数的个数,并计算其中正整数的总和、平均值并输出。
程序代码:#include<iostream>using namespace std;void main(){int a,n=0;float avg,sum=0;do{cin>>a;if(a>0){n++;sum+=a;}}while(a!=0);avg=sum/n;cout<<"n="<<n<<endl;cout<<"avg="<<avg<<endl;cout<<"sum="<<sum<<endl;}3.输出所有的水仙花数。
所谓“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。
如153=13+53+33程序代码:#include<iostream>using namespace std;void main(){int a,b,c,n;for(n=100;n<1000;n++){a=n%10;b=n%100/10;c=n/100;if(n==a*a*a+b*b*b+c*c*c)cout<<n<<endl;}}运行结果:第三章作业答案1.编写程序输出两个数的最大公约数和最小公倍数。
2.计算100---300之内所有素数的和。
3.计算s=1-1/3+1/5-1/7+…1/994. N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),求N的值。
第一题:程序代码://用辗转相除法求最大公约数;#include<iostream>using namespace std;void main(){int m,n,r,temp;cin>>m>>n;temp=m*n;while(r=m%n){m=n;n=r;}cout<<"最大公约数="<<n<<endl; cout<<"最小公倍数="<<temp/n<<endl; }运行结果:第二题:程序代码:#include<iostream>using namespace std;void main(){int n,i,s=0;for(n=100;n<300;n++){for(i=2;i<n;i++)if(n%i==0)break;if(i==n)s+=n;}cout<<"s="<<s<<endl;}运行结果:第三题:程序代码:#include<iostream> using namespace std; void main(){int n=1;float s=0,f=1,p;for(n=1;n<100;n+=2) {p=f/n;s=s+p;f=-f;}cout<<"s="<<s<<endl; }运行结果:第四题:程序代码:#include<iostream> using namespace std; void main(){int n,a,b,c,d;for(n=1000;n<10000;n++){a=n/1000; //千位b=n%1000/100;//百位c=n%100/10; //十位d=n%10; //个位if(9*n==d*1000+c*100+b*10+a)cout<<n<<endl;}}运行结果:第四次作业答案1. 编写两个函数,分别计算两个整数的最大公约数和最小公倍数,并在主函数中调用该函数,并输出结果。
2. 编写一个判断素数的函数,函数原型为:int isprime(int n),在主函数中调用该函数,计算100—1000之间所有素数的和。
3. 编写一个函数,f(n)=,并在主函数中输出f(10)的值。
(说明自然对数ln的函数原型为double log(float x) .4. 编写一个计算阶乘的函数,函数原型为int fac(int n),在主函数中调用该函数,计算:S=M!+N! .第一题:程序代码:#include<iostream>using namespace std;//求最大公约数int gcd(int m,int n){int r;while(r=m%n){m=n;n=r;}return n;}//求最小公倍数int lcd(int m,int n){return m*n/gcd(m,n);}void main(){int a,b;cin>>a>>b;cout<<"最大公约数为:"<<gcd(a,b)<<endl; cout<<"最小公倍数为:"<<lcd(a,b)<<endl;}运行结果:第二题:程序代码:#include<iostream>using namespace std;//判断素数的函数,若n为素数,函数返回1,否则返回0;int isprime(int n){int i;for(i=2;i<n;i++)if(n%i==0)return 0;return 1;}void main(){int i,s=0;for(i=100;i<1000;i++)if(isprime(i))s=s+i;cout<<"s="<<s<<endl;}运行结果:第三题:程序代码:#include<iostream>#include<math.h>using namespace std;double f(int n){int i;double s=0;for(i=2;i<=n;i++)s=s+log(i);return sqrt(s);}void main(){cout<<f(10)<<endl;}运行结果:第四题:程序代码:#include<iostream>using namespace std;//用递归编写计算阶乘的函数int fac(int n){if(n==0||n==1)return 1;else return n*fac(n-1);}void main(){int M,N,s;cin>>M>>N;s=fac(M)+fac(N);cout<<M<<"!+"<<N<<"!="<<s<<endl;}运行结果:第五章第六次上机内容1、定义一个3行4列的数组,计算所有数据的平均值,并输出最大值和最小值和它的行号和列号。