第7次上机作业参考答案.doc_第1页
第7次上机作业参考答案.doc_第2页
第7次上机作业参考答案.doc_第3页
第7次上机作业参考答案.doc_第4页
第7次上机作业参考答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七次上机练习参考答案1. 编写一个square(int x)函数,计算一个整数的平方,然后调用该函数计算并打印110的平方。#include int square(int x)return x * x;int main()int i;for (i = 1; i = 10; i+)printf(%d , square(i);return 0;2. 编写一个函数printChars(int n, char t),打印n个连续的字符t,比如printChars(5, a)将会输出aaaaa。void printChars(int n, char t)int i;for (i = 0; i n; i+)printf(%c, t);3. 编写函数distance(float x1, float y1, float x2, float y2),计算两点(x1, y1)和(x2, y2)之间的距离,返回值使用float类型。#include float distance(float x1, float y1, float x2, float y2)return sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1) );4. 写一个函数判断一个整数是否为素数,并利用该函数输出1200之间所有的素数。#include #include bool isPrime(int n)if (n 2)return false;int i;for (i = 2; i = sqrt(double)n); i+)if (n % i = 0)return false;return true;int main()int i;for (i = 1; i = 200; i+)if (isPrime(i)printf(%d , i);return 0;5. 一个整数的所有因子(包括1,但不包括本身)之和等于该数,则该数称为完数。例如6是一个完数,因为6=1+2+3。编写一个isPerfectnum函数,判断number是否为完数。利用该函数判断并打印11000之间的所有完数。#include bool isPerfectnum(int n)int i;int sum = 0;for (i = 1; i n; i+)if (n % i = 0)sum+=i;if (sum = n)return true;elsereturn false;int main()int i;for (i = 1; i = 1000; i+)if (isPerfectnum(i)printf(%d , i);return 0;6. 编写递归函数,把输入的一个整数转换成二进制数输出。void printBinary(int n)if (n 2)printf(%d, n);return;printBinary(n/2);printf(%d, n % 2);7. 编写递归函数对数组元素求和。int getSum(int array, int n)if (n = 1)return array0;return arrayn-1 + getSum(array, n - 1);11.某班有5名同学选修4门课。要求把成绩数组定义为全局变量。编写函数实现以下功能:1)输入所有成绩。2)计算每名同学不及格的课程数。3)统计每门课程的及格率。4)以二维方式输出所有成绩。/*全局变量实现方法*/#include int grade54;void inputGrade()int i, j;for (i = 0; i 5; i+)for (j = 0; j 4; j+)scanf(%d, &gradeij);void failNum()int i, j, count;for (i = 0; i 5; i+)count = 0;for (j = 0; j 4; j+)if (gradeij 60)count+;printf(Studnet %d fails %d courses.n, i, count);void passRate()int i, j, count;for (j = 0; j 4; j+)count = 0;for (i = 0; i = 60)count+;printf(The passing rate of course %d is %.2f.n, j, count/5.0);void outputGrade()int i, j;for (i = 0; i 5; i+)for (j = 0; j 4; j+)printf(%d , gradeij);printf(n);int main()inputGrade();failNum();passRate();outputGrade();return 0;/*非全局变量实现方法*/#include void inputGrade(int grade54)int i, j;for (i = 0; i 5; i+)for (j = 0; j 4; j+)scanf(%d, &gradeij);void failNum(int grade54)int i, j, count;for (i = 0; i 5; i+)count = 0;for (j = 0; j 4; j+)if (gradeij 60)count+;printf(Studnet %d fails %d courses.n, i, count);void passRate(int grade54)int i, j, count;for (j = 0; j 4; j+)count = 0;for (i = 0; i = 60)count+;printf(The passing rate of course %d is %.2f.n, j, count/5.0);void outputGrade(int grade54)int i, j;for (i = 0; i 5; i+)for (j = 0; j 4; j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论