C语言练习第六章 函数(选做)

第六章习题

1.

题目(Description):

输入一个摄氏温度,输出其华氏温度。要求编写一个函数,将摄氏温度转换成华氏温度。公式为 F=C*9/5+32,取位2小数。

输入(Input):

摄氏温度

输出(Output):

华氏温度(保留两位小数)

示例(Sample):

输入(Input):

-40

输出(Output):

-40.00

2.

题目(Description):

输入一个摄氏温度,输出其华氏温度。要求编写一个函数,将摄氏温度转换成华氏温度。公式为 F=C*9/5+32,取位2小数。

输入(Input):

摄氏温度

输出(Output):

华氏温度(保留两位小数)

示例(Sample):

输入(Input):

-40

输出(Output):

-40.00

题目(Description):

简单累加计算。要求编写一个函数计算 1-1/2+1/3-1/4+......。

double sum(int n)  {          }

输入(Input):

项数n

输出(Output):

1-1/2+1/3-1/4+......1/n的结果(小数点后保留三位)

提示(Hint):

程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。

示例(Sample):

输入(Input):

2

输出(Output):

0.500


3.

题目(Description):

输入一个正整数,判断是否为素数,并做如下处理:

(1)如果是素数,则输出 “y”;

(2)如果不是素数,则输出其最小素数因子与另外一个数;比如:35不是素数,则输出 “5*7”。

要求编写一个函数,判断素数及求最小素数因子。

void jdgprime(int n)  {          }

输入(Input):

一个正整数(不考虑输入1时的情况)

输出(Output):

如果是素数,则输出“y”;如果不是素数,则输出其最小素数因子与另外一个数。

提示(Hint):

程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。

示例1(Sample):

输入(Input):

23

输出(Output):

y

示例2(Sample):

输入(Input):

63

输出(Output):

3*21

4、

题目(Description):

输入一个正整数,按由大到小的顺序输出它的所有质数因子(如180=5*3*3*2*2)。要求编写函数求质数。

void act(int n)  {          }

输入(Input):

一个正整数

输出(Output):

该正整数的所有质数因子(按照从大到小的顺序)

提示(Hint):

(1)求出的质数利用数组保存;

(2)对保存在数组中的质数从大到小排序。

(3)程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。

示例(Sample):

输入(Input):

180

输出(Output):

5 3 3 2 2

题目(Description):

输入两个整数a和b,编写一个函数,分别计算两个整数的加、减、乘、除结果。除法结果保留两位小数,如果除数为0,则输出 “error”。

void Calculate(int a,int b)  {          }

输入(Input):

两个数

输出(Output):

两个数的加结果

两个数的减结果

两个数的乘结果

两个数的除结果

提示(Hint):

程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。

示例1(Sample):

输入(Input):

1 2

输出(Output):

3

-1

2

0.50

示例2(Sample):

输入(Input):

2 0

输出(Output):

2

2

0

error

2、

题目(Description):

输入一个不多于5位的整数,要求:

(1)求出它是几位数

(2)分别输出每一位数字

(3)按逆序输出各位数字,如:输入321,输出123

输入(Input):

一个不多于5位的整数

输出(Output):

第一行  位数

第二行  用空格分开的每个数字(注意最后一个数字后没有空格)

第三行  按逆序输出这个数

示例(Sample):

输入(Input):

12345

输出(Output):

5

1 2 3 4 5

54321


3.

题目(Description):

输入一个二维3*3数组,编写一个函数,求其两对角线数之和。

例如:

1 2 3

4 5 6

7 8 9

对角线之和为1+5+9+3+7,注意5不重复。

输入(Input):

二维数组元素

输出(Output):

两对角线数之和

示例(Sample):

输入(Input):

1 2 3

4 5 6

7 8 9

输出(Output):

25


4.

题目(Description):

输入两个整数,编写一个函数,寻找这两个整数之间的所有素数(包括两个整数),并按从小到大的顺序输出。

输入(Input):

两个整数(第一个整数小,第二个整数大)

输出(Output):

两个整数之间的素数(中间有空格)

示例1(Sample):

输入(Input):

1 10

输出(Output):

2 3 5 7

示例2(Sample):

输入(Input):

11 20

输出(Output):

11 13 17 19


5.

题目(Description):

将一个二维整数数组的行和列元素互换,存到另一个二维数组。

输入(Input):

(1)二维数组行和列

(2)二维数组的元素

输出(Output):

(1)原始二维数组

(2)行列互换后的二维数组(每个元素占5列且右对齐)

示例(Sample):

输入(Input):

2 4

1 2 3 4 5 6 7 8

输出(Output):

array A:

    1    2    3    4

    5    6    7    8

array B:

    1    5

    2    6

    3    7

    4    8


6、

题目(Description):

一个三位数,要求个、十、百位数字不完全相同,比如不允许输入111,222等。把这个三位数的三个数字按大小重新排列,得出最大数和最小数,两者相减得到一个新数;再按照上述方式重新排列,再相减,直至差不变,最后得到就是三位数黑洞。要求:输入一个三位数,计算并输出该三位数黑洞。

输入(Input):

一个三位数

输出(Output):

三位数黑洞

示例(Sample):

输入(Input):

798

输出(Output):

495

解释如下:

第一次:987-789=198

第二次:981-189=792

第三次:972-279=693

第四次:963-369=594

第五次:954-459=495

第六次:954-459=495

停止



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值