C语言题库2015

2018-11-08 14:17

性质3 如果a=b,则a和b的最大公约数与a值和b值相同,即Gcd(a, b) = a = b

要求如下:

(1)从键盘任意输入的两整数

主函数调用Gcd()函数,并输出两整数的最大公约数。 (2)Gcd函数原型为: int Gcd(int a, int b);

如果输入的数不是正整数,则返回-1,否则,返回两个数的最大公约数。 (3)**输入提示信息格式要求:\输入两个整数时用,号分隔 **输出提示信息要求:

如果输入的数不是正整数,则输出\,否则按如下格式输出\参考答案

#include int Gcd(int a, int b); int main() {

int a, b, c;

printf(\ scanf(\ c = Gcd(a, b); if (c != -1)

printf(\ else

printf(\ return 0; }

int Gcd(int a, int b) {

if (a <= 0 || b <= 0) return -1; while (a != b) {

if (a > b)

a = a - b; else if (b > a) b = b - a; }

return a; }

Q357.(10分)某班期终考试科目为高等数学MT,英语EN和物理PH,有5人参加考试。为评定奖学金,要求统计并输出一个表格,表格内容包括学号、各科分数、总分和平均分,并标出三门课均在90分以上者(该栏标志输出“Y”,否则输出“N”),表格形式如下: NO MT EN PH SUM V >90

------------------------------------------------------ 1 88 87 83 258 86 N 2 69 90 88 247 82 N 3 77 70 79 226 75 N 4 96 99 98 293 97 Y 5 77 88 90 255 85 N

**输入格式要求:\提示信息:\**输出格式要求:

\

\ \参考答案

#include main() {

int i, j, a[5][4], s = 0; char c;

for (i = 0; i <= 4; i++) {

printf(\ for (j = 0; j <= 3; j++)

scanf(\ }

printf(\

printf(\ for (i = 0; i <= 4; i++) {

printf(\ for (s = 0, j = 1; j <= 3; j++) {

s += a[i][j];

printf(\ }

if (a[i][1] >= 90 && a[i][2] >= 90 && a[i][3] >= 90) c = 'Y'; else c = 'N';

printf(\ } }

Q240.(10分)有5个人围坐在一起,问第5个人多大年纪,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,请利用递归法编程计算并输出第5个人的年龄。 **输出格式要求:\

参考答案

#include

unsigned int ComputeAge(unsigned int n); main() {

unsigned int n = 5;

printf(\}

/* 函数功能:用递归算法计算年龄 */ unsigned int ComputeAge(unsigned int n) {

unsigned int age; if (n == 1) {

age = 10; } else {

age = ComputeAge(n - 1) + 2; }

return age; }

Q530.(10分)用函数编写计算整数n的阶乘n!。 **输入格式要求:\提示信息:\**输出格式要求:\程序运行示例如下: Input m:5 5! = 120 参考答案

#include

long Fact(int n); /* 函数原型声明 */ int main() {

int m; long ret;

printf(\ scanf(\

ret = Fact(m); /* 调用函数Fact(),并将函数的返回值存入ret */ printf(\ return 0; }

/* 函数功能:用迭代法计算n! */

long Fact(int n) /* 函数定义 */

{

int i;

long result = 1;

for (i = 2; i <= n; i++) {

result *= i; }

return result; }

Q109.(15分)按如下函数原型,采用欧几里德算法编写计算两个整数的最大公约数的函数Gcd()。欧几里德算法,也称辗转相除法。其基本思想是:对正整数a和b,连续进行求余运算,直到余数为0为止,此时非0的除数就是最大公约数。 /* 函数功能:计算a和b的最大公约数,输入负数时返回-1 */ int Gcd(int a, int b) 要求如下:

(1)从键盘任意输入的两整数

主函数调用Gcd()函数,并输出两整数的最大公约数。 (2)Gcd函数原型为: int Gcd(int a, int b);

如果输入的数不是正整数,则返回-1, 否则,返回两个数的最大公约数。

(3)**输入提示信息格式要求:\输入两个整数时用,号分隔 **输出提示信息要求:

如果输入的数不是正整数,则输出\否则按如下格式输出\参考答案

#include int Gcd(int a, int b); main() {

int a, b, c;

printf(\

scanf(\ c = Gcd(a,b);//2 if (c != -1)//1 {

printf(\ }

else//1 {

printf(\ }

}

int Gcd(int a, int b)//1 {

int r;

if (a <= 0 || b <= 0)//2 {

return -1;//1 } do{

r = a % b;//1 a = b;//1 b = r;//1

}while (r != 0);//e2 return a; //1 }

Q224.(10分)某人在国外留学,不熟悉当地天气预报中的华氏温度值,请编程按每隔10°输出-40°到110°之间的华氏温度到摄氏温度的对照表,以方便他对照查找。已知华氏和摄氏温度的转换公式为C=5/9*(F-32),其中,C表示摄氏温度,F表示华氏温度。 **输出格式要求:\程序运行示例如下: -40 -40.0 -30 -34.4 -20 -28.9 -10 -23.3 0 -17.8 10 -12.2 20 -6.7 30 -1.1 40 4.4 50 10.0 60 15.6 70 21.1 80 26.7 90 32.2 100 37.8 110 43.3 参考答案

#include main() {

int fahr; float celsius;

for (fahr = -40; fahr <= 110; fahr = fahr + 10)


C语言题库2015.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年专业技术人员继续教育培训题库(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: