C++基础应用,在字符串中提取数字
字符串string1中储存了一个时间,是由小数点隔开的小时和分钟两个数据,现在提取这两个数据,分别储存在h,min两个变量中,怎么弄...
字符串string1中储存了一个时间,是由小数点隔开的小时和分钟两个数据,现在提取这两个数据,分别储存在h,min两个变量中,怎么弄
展开
4个回答
展开全部
#include <iostream>
using namespace std;
int main()
{
char string1[20];
int i = 0,h = 0,min = 0;
cout<<"输入时间表达式:";
cin >>string1;
while(string1[i] != '.')//小数点前面的数逐位加到表示小时的变量中
{
h=h*10+(string1[i]-'0');
i++;
}
i++;//走过小数点
while(string1[i] != '\0')
{
min = min*10+(string1[i]-'0');
i++;
}
cout <<h<<"小时"<<min<<"分钟"<<endl;
getchar();
return 0;
}
using namespace std;
int main()
{
char string1[20];
int i = 0,h = 0,min = 0;
cout<<"输入时间表达式:";
cin >>string1;
while(string1[i] != '.')//小数点前面的数逐位加到表示小时的变量中
{
h=h*10+(string1[i]-'0');
i++;
}
i++;//走过小数点
while(string1[i] != '\0')
{
min = min*10+(string1[i]-'0');
i++;
}
cout <<h<<"小时"<<min<<"分钟"<<endl;
getchar();
return 0;
}
展开全部
int i = 0;
h = 0;m = 0;
for(; ; i++)
{
if(string1[i]!='.')
h=h*10+(string1[i]-'0');
else break;
}
i++;
for(; string1[i]!='\0'; i++)
m=m*10+(string1[i]-'0');
h = 0;m = 0;
for(; ; i++)
{
if(string1[i]!='.')
h=h*10+(string1[i]-'0');
else break;
}
i++;
for(; string1[i]!='\0'; i++)
m=m*10+(string1[i]-'0');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char gettime[20];
int i = 0,h = 0,min = 0;
char first[20],second[20];
memset(first,0,20*sizeof(char));
memset(second,0,20*sizeof(char));
cout<<"输入时间表达式:";
cin >>gettime;
sscanf(gettime,"%[^.]",first);
sscanf(gettime,"%*[1-9]%\.%s",second);
cout<<first<<"hours "<<second<<"seconds"<<endl;
return 0;
}
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char gettime[20];
int i = 0,h = 0,min = 0;
char first[20],second[20];
memset(first,0,20*sizeof(char));
memset(second,0,20*sizeof(char));
cout<<"输入时间表达式:";
cin >>gettime;
sscanf(gettime,"%[^.]",first);
sscanf(gettime,"%*[1-9]%\.%s",second);
cout<<first<<"hours "<<second<<"seconds"<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询