C语言学习
函数部分
例题:将字符串“12+5=;45-2=;34*2=;56/3=”的结果计算出来,并且填写在等号后面,并将形成的带结果的新字符串重新打印出来。
#include<stdio.h>
#include<string.h>
int main(){
char a[100]="12+5=;45-2=;34*2=;56/3=";
char *s;
char b[100]={0};
s=strtok(a,";");
while(s){
char c ; int i,j;
//将分好块的字符串变成整型进行计算
sscanf(a,"%d%c%d=",&i,&c,&j);
int res=0;
switch(res){
case '+':
res=i+j;
break;
case '-':
res=i-j;
break;
case '*':
res=i*j;
break;
case '/':
res=i/j;
break;
default:
res=0;
}
//将整型变成字符串
char tmp[10]={0};
sprintf(tmp,"%s%d",s,res);
strcat(b,tmp);
s=strtok(NULL,";");
}
strcpy(a,b);
printf("%s\n",a);
return 0;
}
主要是对strtok,strcat ,strcpy ,sscanf , sprintf 的使用。