两个字符串型数组如何相加(C语言)
有两个字符串型的数组chara[6];charb[6];a和b里面包含的都是金额例如a=D0012b=C0012数字部分是金额。字母部分是代表借贷关系我想要把两个金额相加...
有两个字符串型的数组
char a[6];
char b[6];
a和b里面包含的都是金额
例如a=D0012
b=C0012
数字部分是金额。字母部分是代表借贷关系
我想要把两个金额相加。不知道该怎么做。。。> <
我想把a,b强制转换,用atof..可是不成功
哪位高人能指点一下啊。。。。T_T 展开
char a[6];
char b[6];
a和b里面包含的都是金额
例如a=D0012
b=C0012
数字部分是金额。字母部分是代表借贷关系
我想要把两个金额相加。不知道该怎么做。。。> <
我想把a,b强制转换,用atof..可是不成功
哪位高人能指点一下啊。。。。T_T 展开
5个回答
展开全部
用函数!
头文件 #include<string.h>
strcat(str1,str2);//将str2接到str1后面前提是str1要有足够多的空间接受str2里面的字符
或者自己写代码
char *p=str1;
char *q=str2;
while(*p)
{
p++;//将指针移动到str1尾部
}
while(*q)
{
*p++=*q++;//将str2里面的字符从str1尾部连接到str1;
}
头文件 #include<string.h>
strcat(str1,str2);//将str2接到str1后面前提是str1要有足够多的空间接受str2里面的字符
或者自己写代码
char *p=str1;
char *q=str2;
while(*p)
{
p++;//将指针移动到str1尾部
}
while(*q)
{
*p++=*q++;//将str2里面的字符从str1尾部连接到str1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接读取
1.读取至a[0]和b[0],与'D'和'C'比较,就可以判断是借还是贷
2.接着读取a[2] a[3] a[4] a[5] b[2] b[3] b[4] b[5]
并强制转换为int型
然后可以这样
int temp1 = a[2]*1000+a[3]*100+a[4]*10+a[5];
3.接着下面就是
temp1+temp2了
下面给出一个程序:
1.至于D还是C是借或贷,还有借贷怎么加减,你就自己处理了
2.你可以做一些小的修改就可以满足你想要的了,程序很简单,看不懂可以给我信息;
#include "stdio.h"
#include "stdlib.h"
int main()
{
char a[6] = "D1012";
char b[6] = "C0258";
//打印借贷,这段你自己修改,这里告诉你如何比较
if (a[0] =='D')
{
printf("a借贷\n");
}
if (b[0]=='D')
{
printf("b借贷\n");
}
int s,s1,s2;
s1 =atoi(a+1);//从a[1]开始转换
printf("a = %d\n",s1);
s2 =atoi(b+1);//从b[1]开始转换
printf("b = %d\n",s2);
s = s1 + s2;//s保存a+b的值
printf("a+b = %d\n",s);
return 0;
}
1.读取至a[0]和b[0],与'D'和'C'比较,就可以判断是借还是贷
2.接着读取a[2] a[3] a[4] a[5] b[2] b[3] b[4] b[5]
并强制转换为int型
然后可以这样
int temp1 = a[2]*1000+a[3]*100+a[4]*10+a[5];
3.接着下面就是
temp1+temp2了
下面给出一个程序:
1.至于D还是C是借或贷,还有借贷怎么加减,你就自己处理了
2.你可以做一些小的修改就可以满足你想要的了,程序很简单,看不懂可以给我信息;
#include "stdio.h"
#include "stdlib.h"
int main()
{
char a[6] = "D1012";
char b[6] = "C0258";
//打印借贷,这段你自己修改,这里告诉你如何比较
if (a[0] =='D')
{
printf("a借贷\n");
}
if (b[0]=='D')
{
printf("b借贷\n");
}
int s,s1,s2;
s1 =atoi(a+1);//从a[1]开始转换
printf("a = %d\n",s1);
s2 =atoi(b+1);//从b[1]开始转换
printf("b = %d\n",s2);
s = s1 + s2;//s保存a+b的值
printf("a+b = %d\n",s);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sscanf()可以实现,示例程序:
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
char a[6]="D0212";
char b[6]="C0012";
int ai,bi;/*从a和b中读取的数值*/
sscanf(a,"%*[^0123456789]%d",&ai);/*从字符串a中读取数值ai*/
sscanf(b,"%*[^0123456789]%d",&bi);/*从字符串b中读取数值bi*/
ai=a[0]=='D'?ai:ai*-1;/*根据字符串首字母判断是借还是贷*/
bi=b[0]=='D'?bi:bi*-1;
printf("%d",ai+bi);/*输出相加结果*/
return 0;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
char a[6]="D0212";
char b[6]="C0012";
int ai,bi;/*从a和b中读取的数值*/
sscanf(a,"%*[^0123456789]%d",&ai);/*从字符串a中读取数值ai*/
sscanf(b,"%*[^0123456789]%d",&bi);/*从字符串b中读取数值bi*/
ai=a[0]=='D'?ai:ai*-1;/*根据字符串首字母判断是借还是贷*/
bi=b[0]=='D'?bi:bi*-1;
printf("%d",ai+bi);/*输出相加结果*/
return 0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用指针行不
我也是 初学 提供个思路
我也是 初学 提供个思路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询