c程序设计语言 trim,C语言编程题.doc

C语言编程题C语言编程题

Problem A: 求字符串的长度(编程题)

Description

编写一个求字符串长度的函数,其原型如下:

int strlen(char str[]);

其中str[]表示待求长度的字符串,返回值是str[]的长度。

注意:主函数已经给出,只需提交strlen()函数及必要的头文件包含命令。

Input

输入为多行。第一行N>0表示有N个测试用例,后面有N行,每行包含一个字符串(不超过1000个字符)。

Output

输出为多行,每行对应于一个测试用例。每行的格式为:

case i:lenght=j.

其中i表示测试用例编号(从1开始),j表示相应的字符串长度。

Sample Input

4

I love China!

Do you want to pass this examination?

You will succeed finially!

Wish you succeed!

Sample Output

case 1:length=13.

case 2:length=37.

case 3:length=26.

case 4:length=17.

Problem B: 一维数组的逆序(编程题)

Description

编程,实现对一个一维数组的逆序,即将数组的元素反转。

Input

输入分多行,第一行是N>0,表示有N个用例。

每个用例的输入有1行或2行,其中第一行是0<=M<=1000,表示该数组有M个整数。如果M>0,则第二行包含M个整数,两两之间用空格隔开;如果M=0,则该用例没有第二行输入。

Output

输出为N行,每行与上述输入一一对应,分别是对应用例的逆序。输出格式为:

case i:d1 d2 ...

其中i表示用例编号(从1开始),d1、d2等是数组逆序后的结果,两两之间用空格隔开。如果该用例不包含任何输入,即:M=0,则仅输出:

case i:

Sample Input

3

10

10 9 8 7 6 5 4 3 2 1

0

5

1 2 3 4 5

Sample Output

case 1:1 2 3 4 5 6 7 8 9 10

case 2:

case 3:5 4 3 2 1

HINT

?注意M可以为0。

Problem C: 编写函数trim()

Description

在C语言中,将ASCII字符集中的制表符('\t')、回车符('\r')、换行符('\n')、垂直制表符('\v')、换页符('\f')和空格字符(' ')称作空白符。

你的任务是读入每行字符串,去掉行首和行尾的连续空白符,但是在任意非空白符中间的空白符不要去除。

要求编写一个函数:trim()。trim()函数的参数是一个字符串,去除这个字符串前后的空白符,并将该串的首地址返回。函数原型如下:

char * trim(char *);

main()函数见append.c。

malloc()被禁用,不需要重新分配空间。trim()函数在作为参数传入的字符串原存储空间内操作。

Input

输入为多行,每行为一个串(不超过100个字符),至某行输入的非空白符仅为“END”结束。

Output

输出为多行,为每行输入的去掉前后空白符的串。“END”也输出。

Sample Input

abcdefg

XYZ

abc 123

END

Sample Output

abcdefgXYZ

abc 123

END

HINT

头文件ctype.h中有isspace函数对空白符进行检测,若一个字符为空白符之一则返回真。

Problem D: 体重正常吗?(编程题)

Description

体重指数计算器是体重与身高之比值,知道它很重要,可以了解你的健康情况,你的体重是不是标准体重、超重和肥胖等。编写一个体重指数计算器,只需要输入身高与体重,即可计算出体重指数。

体重指数(BMI--Body Mass Index)是评估体重与身高比例的参考指数,它的计算公式为:体重(kg)除以身高(m)的平方。判断结论为:

BMI<19体重偏低[19,25)健康体重[25,30)超重[30,40)严重超重>=40极度超重Input

输入为多行,每行包含2个实数:第一个是身高(以cm为单位)、第二个是体重(以kg为单位),两个数据均为正数。两者之间用一个空格隔开。

Output

输出为多行,每行与上述输入一一对应。每行输出的第一个实数是体重指数,保留2位小数。然后是一个空格,接着是判定结论:

lower:体重偏低

health:健康体重

heavy:超重

super heavy:严重超重

extra heavy:极度超重。

Sample Input

168 80

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值