我们的住房、宿舍、酒店、教室和机房的房号,都一个不成文的规矩,也就是房间号的前几位一般表示楼层,后几位为房间在此楼层的编号。
这样大大方便了我们查找房间。
为了简单,在此约定:
房间号为0~9的数字组成;
房号的长度小于等于8位,其中楼层号小于等于3位;
允许0楼层、00楼层、020楼层这样的楼层出现。
输入格式:
在一行中输入一个字符串(房号num)和一个正整数(楼层号的位数为k)。输入数据已经确保了k一定小于房号长度。
输出格式:
level=楼层号,room=房间号
输入样例:
02018 1
输出样例:
level=0,room=2018
分析:
- 首先,程序通过
scanf
函数从用户那里获取一个字符串s
和一个整数k
。 - 然后,程序计算字符串
s
的长度,并将其存储在变量len
中。 - 程序打印出 "level=",然后打印出字符串
s
的前k
个字符。这是通过一个for循环实现的,它遍历字符串s
的前k
个字符,并将每个字符打印出来。 - 然后,程序打印出 "," 和 "room="。
- 最后,程序打印出字符串
s
中从第k
个字符到最后一个字符的部分。这是通过另一个for循环实现的,它遍历字符串s
的第k
个字符到最后一个字符,并将每个字符打印出来。
代码:
#include<stdio.h>
#include<string.h>
int main()
{
int k,len;
char s[100];
scanf("%s %d",&s,&k);
len=strlen(s);
printf("level=");
for(int i=0;i<k;i++)
{
printf("%c",s[i]);
}
printf(",");
printf("room=");
for(int i=k;i<len;i++)
{
printf("%c",s[i]);
}
return 0;
}
总结:
这个程序的输出形式为 "level=xxxx,room=yyyy",其中 "xxxx" 是字符串 s
的前 k
个字符,"yyyy" 是字符串 s
中从第 k
个字符到最后一个字符的部分。