编写程序,用(xxx)xxx-xxxx的格式输入电话号码,并以xxx.xxx.xxxx的格式显示该号码。 输入样例: (404)017-6900 输出样例: 404.017.6900使用c语言
时间: 2024-11-23 10:31:56 浏览: 15
为了在C语言中实现这个功能,你可以创建一个函数,接收用户输入的字符串作为参数,然后通过查找特定的括号位置和替换字符,将电话号码转换成所需的格式。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void format_phone_number(char phone[]) {
int start = 0;
int end = 0;
// 查找第一个左括号的位置
while (phone[start] != '(' && start < strlen(phone)) {
start++;
}
// 如果找不到左括号,直接返回原字符串
if (start == strlen(phone)) {
printf("Invalid phone number format.\n");
return;
}
// 查找右括号的位置
end = start + 1; // 已经找到左括号,下一个就是数字
while (phone[end] != ')' && end < strlen(phone)) {
end++;
}
// 替换括号并去掉多余的空格
char formatted[20];
strncpy(formatted, phone + start + 1, end - start - 1); // 从第二个字符到括号前
formatted[end - start - 1] = '\0'; // 替换最后一个字符为分隔符
formatted[end - start + 1] = '.'; // 添加第一个点号
formatted[strlen(formatted)] = '\0'; // 添加第二个点号和结束符
printf("%s\n", formatted);
}
int main() {
char input[25];
printf("Enter a phone number in the format (XXX)XXX-XXXX: ");
fgets(input, sizeof(input), stdin);
// 移除fgets最后的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
format_phone_number(input);
return 0;
}
```
当你运行此程序并输入 `(404)017-6900`,它会输出 `404.017.6900`。
阅读全文