请人设计一个c语言程序,实现加法运算,急,急!

[复制链接]
查看11 | 回复3 | 2010-4-20 22:55:00 | 显示全部楼层 |阅读模式
所谓的每个未知数有一个系数,就是像这样吧a+2b+3c+4d+5e之类的吧,因此程序应该只要实现乘法和加法既可。下面程序就可以实现任意数目的加法和乘法混合运算,应该合你的题意。以下程序没有对错误的输入做判断,因此输入时要严格按照格式来输入,该程序可以测试任意多位,和在111位数之间的+和乘,当然还要做更大的计算,可以把数组改得更大既可,比如你可以输入1+2*2*2+2+3+2*3*4*5+2*2来测试结果是否正确。而且本程序可以计算任意位数长的加法和乘法计算,比如你可以使用1+1*1*1*1*1*1*1*1*2+3,来测试计算结果void main(){int a[111]={0},m[111]={0};//a用于接收输入的数字,m用于计算*之后的结果char b[111]; //用于接收+和*字符。int i=0,j=0,k=0;//三个计数器int s=0;//计算结果存于此数。 while(1) //此循环用于接收输入的数字和字符。{scanf("%d",&a[i++]);//数组a接收数字,因为整型数组a不接收字符,所以把字符留给后面的字符数组b来接收。scanf("%c",&b[j++]);//数组b接收字符if(b[j-1]=='\n') break;//如果数组b接收到回车字符,则表示输入完毕}int n=0;//好像没有用到这个变量。for(int j=0;j<i;j++)//此循环用于做乘法和连乘运算{if(b[j]=='*'){m[k]=a[j]*a[j+1];a[j]=0;a[j+1]=0;k++;//如果b[j]为乘法,则先计算乘法,也就是乘法的两个数是a[j]和a[j+1]while(1){ //以下循环用于做连乘if(b[j+1]=='*'){--k;m[k]=m[k]*a[j+2]; a[j+2]=0;k++;j++;}//这个计算比较复杂,自已想想,是用于计算连乘的。else break;}}else if(b[j+1]=='\n')break;}for(int j=0;j<i;j++)//此运算用于做加法s=s+a[j]+m[j];printf("%d\n",s);system("pause");}
回复

使用道具 举报

千问 | 2010-4-20 22:55:00 | 显示全部楼层
这题题意不是很清楚!能说得更详细点吗?
回复

使用道具 举报

千问 | 2010-4-20 22:55:00 | 显示全部楼层
intmain(void){intx,y;printf("请输入需要相加的数字,空格分割,回车结束\n");scanf("%d%d",&x,&y);printf("%d+%d=%d\n",x,y,x+y);return0;}
回复

使用道具 举报

千问 | 2010-4-20 22:55:00 | 显示全部楼层
程序已发 LZ 邮箱,lz 有啥疑问可以百度短信给我
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行