亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言如何實現(xiàn)計算器簡單混合運算功能

 更新時間:2024年07月01日 11:54:29   作者:Loongnoy  
這篇文章主要給大家介紹了關(guān)于C語言如何實現(xiàn)計算器簡單混合運算功能的相關(guān)資料,這個計算器程序可以執(zhí)行基本的數(shù)學運算,例如加法、減法、乘法和除法,需要的朋友可以參考下

簡易計算器

把輸入的字符串數(shù)字和符號分離

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	int i,j=0,k=0,l=0;
	char op[100];//符號字符串 
	char str[100];//所輸入的字符串 
	char aq[100];//數(shù)字字符串 
	double num[100];//數(shù)字 
	double res=0;//結(jié)果 
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]>='0'&&str[i]<='9'||str[i]=='.')
		{
			aq[j++]=str[i];
		}//將輸入的字符串中的數(shù)字提取出來 
		else
		{ 
			num[l++]=atof(aq);//數(shù)字存入double類型 
			memset(aq,0,sizeof(aq));//清空aq 
			op[k++]=str[i];//符號存入op 
			j=0;
		}
	}
	num[l++]=atof(aq);
	op[k]='\0';
	puts(op);
	for(i=0;num[i]!='\0';i++)
		printf("%.2lf\t",num[i]);
		printf("\n");
	

再進行混合運算

for(i=0;op[i]!='\0';i++)
	{
		if(op[i]=='*')
		{
			for(j=i;op[j]!='\0';j++) 
				op[j]=op[j+1];//符號遞進 
			num[i]=num[i]*num[i+1];
			for(j=i+1;num[j]!='\0';j++)
				num[j]=num[j+1];//數(shù)字遞進 
				i--; //符號前進i要退一 
		}//乘法運算 
		if(op[i]=='/')
		{
			for(j=i;op[j]!='\0';j++) 
				op[j]=op[j+1];
			num[i]=num[i]/num[i+1];
			for(j=i+1;num[j]!='\0';j++)
				num[j]=num[j+1];
				i--;
		}//除法運算 
	}
	res=num[0];
	for(i=0;op[i]!='\0';i++)
	{
		if(op[i]=='+')
		res=res+num[i+1];
		if(op[i]=='-')
		res=res-num[i+1];//進行加減運算 
	}
	printf("%.2lf",res);
	return 0;	
 } 

完整代碼

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	int i,j=0,k=0,l=0;
	char op[100];//符號字符串 
	char str[100];//所輸入的字符串 
	char aq[100];//數(shù)字字符串 
	double num[100];//數(shù)字 
	double res=0;//結(jié)果 
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
		if(str[i]>='0'&&str[i]<='9'||str[i]=='.')
		{
			aq[j++]=str[i];
		}//將輸入的字符串中的數(shù)字提取出來 
		else
		{ 
			num[l++]=atof(aq);//數(shù)字存入double類型 
			memset(aq,0,sizeof(aq));//清空aq 
			op[k++]=str[i];//符號存入op 
			j=0;
		}
	}
	num[l++]=atof(aq);
	op[k]='\0';
	puts(op);
	for(i=0;num[i]!='\0';i++)
		printf("%.2lf\t",num[i]);
		printf("\n");
	for(i=0;op[i]!='\0';i++)
	{
		if(op[i]=='*')
		{
			for(j=i;op[j]!='\0';j++) 
				op[j]=op[j+1];//符號遞進 
			num[i]=num[i]*num[i+1];
			for(j=i+1;num[j]!='\0';j++)
				num[j]=num[j+1];//數(shù)字遞進 
				i--; //符號前進i要退一 
		}//乘法運算 
		if(op[i]=='/')
		{
			for(j=i;op[j]!='\0';j++) 
				op[j]=op[j+1];
			num[i]=num[i]/num[i+1];
			for(j=i+1;num[j]!='\0';j++)
				num[j]=num[j+1];
				i--;
		}//除法運算 
	}
	res=num[0];
	for(i=0;op[i]!='\0';i++)
	{
		if(op[i]=='+')
		res=res+num[i+1];
		if(op[i]=='-')
		res=res-num[i+1];//進行加減運算 
	}
	printf("%.2lf",res);
	return 0;	
 } 

運行結(jié)果

總結(jié)

到此這篇關(guān)于C語言如何實現(xiàn)計算器簡單混合運算功能的文章就介紹到這了,更多相關(guān)C語言計算器混合運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論