C语言字符串组成和分割问题

现在有a,b,c,d,e五个数字,a=10b=20c=30d=40e=50,先将他们组成一个用逗号分割的字符串,就是10,20,30,40,50之后再讲这个字符串按照分隔... 现在有 a,b,c,d,e五个数字,a=10 b=20 c=30 d=40 e=50,先将他们组成一个用逗号分割的字符串,就是10,20,30,40,50
之后再讲这个字符串按照分隔符再分开,然后赋值,使最后得到的结果是
f=10 g=20 h=30 i=40 k=50
展开
 我来答
漠影歌
2015-08-12 · TA获得超过807个赞
知道小有建树答主
回答量:483
采纳率:50%
帮助的人:450万
展开全部
组成字符串的办法很简单:
char buf[100];
sprintf(buf, "%d,%d,%d,%d,%d", a, b, c, d, e);
这样buf数组中就存得是"10,20,30,40,50"这个字符串了。
想分开的话,定义一个指针p,让这个指针从buf[0] 开始指,让p ++,每次直到逗号的时候就跳出,如果不是逗号的话,就将当前指针指向的这个值放到另一个字符数组buf1中,最后将buf1转成数字,用atoi函数,这时候会得到这个数1020304050,用这个数对100取余。得到50,然后除以100再对100取余,得到40,同理,就会得到相应的数字了,把这些数字存入相应的变量就行。
不明白继续追问
NC_PDF
2015-08-12 · TA获得超过351个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:217万
展开全部
#include <stdio.h>

int main()
{
int a,b,c,d,e;
int f,g,h,i,k;
char buf[20];

a = 10;
b = 20;
c = 30;
d = 40;
e = 50;
sprintf(buf,"%02d,%02d,%02d,%02d,%02d",a,b,c,d,e);
sscanf(buf,"%d,%d,%d,%d,%d",&f,&g,&h,&i,&k);
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-08-12
展开全部
#include<sstream>
#include<iostream>
#include<string>
using naemspace std;
int main()
{
    int i;
    int a[5];
    string temp,str;
    stringstream ss;
    for(i=0;i<5;i++)
    {
        ss<<a[i];
        ss>>temp;
        if(i<4)
           temp+=',';
        str+=temp;
        ss.clear();
    }//////////////////str=10,20,30,40,50
    int b[5];
    for(i=0;i<5;i++)
    {
         ss<<str[2*i];
         ss>>b[i];
         ss.clear();
    }
    return 0;
}
完成!!!
其实这道题最好用sscanf,你可以百度一下~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式