你可以把字符串分解吗,因为第一个字符被排除
所以如果你需要atof 可以这样用
float ff=atof(&a[1]);
是不是。
借贷关系 你就直接取就行了 比如char jd=a[0];等等
用函数!
头文件 #include
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;
}
用sscanf()可以实现,示例程序:
//---------------------------------------------------------------------------
#include
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;
}
//---------------------------------------------------------------------------
用指针行不
我也是 初学 提供个思路