
这是本人写的程序:只处理正整数,负数的运算变换下即可。
#include<iostream>
using namespace std;
// *** 作数和结果的位数还可以任意加,理论上可以处理无限位。(只要内存无限大!!!)
char num1[100]; //第一个 *** 作数
char num2[100]; //第二个 *** 作数
char result[200];//结果
//自定义加法函数
void add(char s1,char s2)
{
int i,j,n=0;
for(i=strlen(s1)-1,j=strlen(s2)-1;i>=0 && j>=0;i--,j--)
result[n++]=s1[i]+s2[j]-'0';
if(i>=0)
while(i>=0)
result[n++]=s1[i--];
if(j>=0)
while(j>=0)
result[n++]=s2[j--];
//处理进位问题
for(i=0;i<n;i++)
if(result[i]>'9')
{
result[i]-=10;
result[i+1]+=1;
}
//将结果逆序
char temp;
for(i=0;i<n/2;i++)
{
temp=result[n-1-i];
result[n-i-1]=result[i];
result[i]=temp;
}
result[n]='\0';
}
//自定义减法函数
void minus(char s1,char s2)
{
int i,j,n=0,flag=0;
char temp[100];
//如果s1<s2,则交换s1和s2
if(strlen(s1)<strlen(s2) || (strlen(s1)==strlen(s2) && strcmp(s1,s2)<0))
{
flag=1;
strcpy(temp,s1);
strcpy(s1,s2);
strcpy(s2,temp);
}
for(i=strlen(s1)-1,j=strlen(s2)-1;j>=0;i--,j--)
result[n++]=s1[i]-s2[j]+'0';
while(i>=0)
result[n++]=s1[i--];
//处理借位问题
for(i=0;i<n;i++)
if(result[i]<'0')
{
result[i]+=10;
result[i+1]-=1;
}
//去掉高位的0
while(result[n-1]=='0' && n!=1)
n--;
if(flag==1)
result[n++]='-';
//将结果逆序
char ch;
for(i=0;i<n/2;i++)
{
ch=result[n-1-i];
result[n-i-1]=result[i];
result[i]=ch;
}
result[n]='\0';
}
//自定义乘法函数
void multiple(char s1,char s2)
{
int i,j,n;
int a[200]={0};
for(i=strlen(s2)-1;i>=0;i--)
{
n=strlen(s2)-1-i;
for(j=strlen(s1)-1;j>=0;j--)
a[n++]+=(s2[i]-'0')(s1[j]-'0');
}
for(i=0;i<n;i++)
{
if(a[i]>9)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
}
if(a[n]!=0)
n+=1;
for(i=0;i<n;i++)
result[i]=a[i]+'0';
//将结果逆序
char ch;
for(i=0;i<n/2;i++)
{
ch=result[n-1-i];
result[n-i-1]=result[i];
result[i]=ch;
}
result[n]='\0';
}
void main()
{
char ch;
while(true)
{
memset(result,0,200);
cout<<"输入运算符(+,-,):"<<endl;
cin>>ch;
cout<<"输入第一个 *** 作数:"<<endl;
cin>>num1;
cout<<"输入第二个 *** 作数:"<<endl;
cin>>num2;
switch(ch)
{
case '+':
add(num1,num2);
break;
case '-':
minus(num1,num2);
break;
case '':
multiple(num1,num2);
break;
default:
cout<<"输入错误"<<endl;
break;
}
cout<<"运算结果:\n"<<result<<endl;
cout<<"是否继续运算(Y/N)"<<endl;
cin>>ch;
if(ch!='Y' && ch!='y')
break;
}
}
在word里面能够实现用“拼音指南”功能
比如要输入循环小数13(3循环)时,方法如下
1 在Word文档中输入“13”,选中数字“3”。
2 在“格式”菜单中,指向“中文版式”,单击“拼音指南”。
3 单击“3”后面的“拼音文字”下的方框,然后切换到你习惯使用的中文输入法,右键单击输入法状态条右端的软键盘按钮,单击“标点符号”,打开标点符号软键盘。
4 在标点符号软键盘,单击数字9键,输入间隔符“·”,然后单击软键盘按钮,关闭软键盘。
5 在“字号”框中选择一个合适的字号,注意字号过小在文档中将看不到添加的间隔符,单击〔确定〕按钮。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)