关注重工黑大帅,学习不迷路
实现功能:实现数字的加减乘除功能
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void lyl(){
char h[666]="";
printf("请输入字符串:");
scanf("%s",h);
float number[666]={0};
printf("\n");
char w[666]="";
int length=strlen(h); //测量字符串长度
printf("输入的字符串长度为:%d\n",length); //打印字符串长度结果
int k=0;
int m=0;
for(int i=0;i<length;i++){
int j=0;
char tem[666]="";
while(h[i]>='0' && h[i]<='9'){
tem[j]=h[i];
j++;
if(h[i+1]>='0' && h[i+1]<='9'){
i++;
continue;
}
else{
number[k]=atoi(tem); //将字符串转换为整型数
k++;
break;
}
}
if(!(h[i]>='0' && h[i]<='9')){
w[m]=h[i];
m++;
}
}
printf("\n");
printf("参与的运算符号有:"); //打印字符串长度结果
puts(w); //输出字符串,这里输出的是运算符号
printf("\n");
float value=number[0];
for(int n=0;n<m;n++){ //进行加减乘除运算,不支持小数点运算
if(w[n]=='+'){
value=value+number[n+1];
}
if(w[n]=='-'){
value=value-number[n+1];
}
if(w[n]=='*'){
value=value*number[n+1];
}
if(w[n]=='/'){
value=value/number[n+1];
}
}
printf("最终运算结果为:%f\n",value); //显示运算结果
printf("\n");
}
int main(){
lyl();
return 0;
}
结果展示: