C语言中如何编写程序可以吧字母格式的电话号码转换为数值形式
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sort(char *p, char *q)
{
int i, j, len;
if ( (p[0]=='+')&&(p[1]=='8')&&(p[2]=='6') )
strcpy(q, p+3); //去掉“+86”
else if ( (p[0]=='+')&&(p[1]=='8')&&(p[2]=='8')&&(p[3]=='6') )
strcpy(q, p+4); //去掉“+886”
else
strcpy(q, p);
for (i=0; i<strlen(q); i++)
{
if (q[i]=='-') //去掉其中的"-"
{
for (j=i; j<strlen(q)-i; j++)
q[j] = q[j+1];
}
}
}
void main(void)
{
unsigned long no[500]; //默认不超过500条数据
FILE *fp;
char str1[20], str2[20];
int i = 0;
fp = fopen("phone.txt", "r");
if (NULL == fp) return; //打开文件失败
while (!feof(fp))
{
fgets(str1, 20, fp); //从文件中读一行数据,默认一行不会超过20个字符
sort(str1, str2);
no[i] = atol(str2); //将字符串转化为长整型
i++;
}
fclose(fp);
}
#include <stdlib.h>
#include <string.h>
void sort(char *p, char *q)
{
int i, j, len;
if ( (p[0]=='+')&&(p[1]=='8')&&(p[2]=='6') )
strcpy(q, p+3); //去掉“+86”
else if ( (p[0]=='+')&&(p[1]=='8')&&(p[2]=='8')&&(p[3]=='6') )
strcpy(q, p+4); //去掉“+886”
else
strcpy(q, p);
for (i=0; i<strlen(q); i++)
{
if (q[i]=='-') //去掉其中的"-"
{
for (j=i; j<strlen(q)-i; j++)
q[j] = q[j+1];
}
}
}
void main(void)
{
unsigned long no[500]; //默认不超过500条数据
FILE *fp;
char str1[20], str2[20];
int i = 0;
fp = fopen("phone.txt", "r");
if (NULL == fp) return; //打开文件失败
while (!feof(fp))
{
fgets(str1, 20, fp); //从文件中读一行数据,默认一行不会超过20个字符
sort(str1, str2);
no[i] = atol(str2); //将字符串转化为长整型
i++;
}
fclose(fp);
}
展开全部
字母格式的能给我举个例子吧
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查表转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询