C语言数组里的元素怎么加减乘除

就是对里面的元素进行运算,菜鸟刚学,用基础的语言解释,谢谢... 就是对里面的元素进行运算,
菜鸟刚学,用基础的语言解释,谢谢
展开
 我来答
智者总要千虑
高粉答主

2017-11-19 · 说的都是干货,快来关注
知道顶级答主
回答量:7.9万
采纳率:88%
帮助的人:1.3亿
展开全部
加法:

voidAdd(char s1[],char s2[])//参数为两个字符串数组{ int num1[M],num2[M]; int i,j; len1 = strlen (s1); len2 = strlen (s2); for (i = len1-1,j = 0; i >= 0; i--)//num1[0]保存的是低位 num1[j++]= s1[i] - '0'; for (i = len2-1,j = 0; i >= 0; i --) num2[j++] = s2[i] - '0'; for (i = 0; i < M; i ++) { num1[i] += num2[i]; if (num1[i] > 9) { num1[i] -= 10; num1[i+1] ++; } } for(i = M-1; (i >= 0)&&(num1[i] == 0); i --) ;//找到第一个不是 0的数的位置 if (i>= 0) //从高位到低位输出每个数 for(; i >= 0; i --) printf ("%d",num1[i]); else printf ("0\n");}

减法等于加上负的数
乘法

voidMulti(char str1[],char str2[]){ int len1,len2,i,j; int a[MAX+10],b[MAX+10],c[MAX*2+10]; memset (a,0,sizeof(a)); memset (b,0,sizeof(b)); memset (c,0,sizeof(c)); len1=strlen(str1); for(j=0,i=len1-1; i>=0; i--)//把数字倒过来 a[j++]=str1[i]-'0'; len2=strlen(str2); for(j=0,i=len2-1; i>=0; i--)//倒转第二个整数 b[j++]=str2[i]-'0'; for(i=0; i<len2; i++)//用第二个数乘以第一个数,每次一位 for(j=0;j<len1; j++) c[i+j]+= b[i]*a[j]; //先乘起来,后面统一进位for(i=0;i<MAX*2; i++)//循环统一处理进位问题 if(c[i]>=10) { c[i+1]+=c[i]/10; c[i]%=10; } for(i=MAX*2; (c[i]==0)&&(i>=0);i--);//跳过高位的0 if(i>=0) for(; i>=0; i--) printf("%d", c[i]); else printf("0"); pritnf("\n");} 除法最难 看这里吧http://wenku.baidu.com/link?url=rvqp3ApH2ujxsqTnoEnUmxc-hcvZz0Z8aV2NbvdxKOjBwRqx60Gju0ll56kccdo7u2_Kw8J1BGMlQpYmBhg4nT4lp7xt7mGtqaPV7x4CI-y(你们竟然会布置除法! 一般都是到乘法)
科里奥利54
2017-11-21 · 超过29用户采纳过TA的回答
知道答主
回答量:95
采纳率:61%
帮助的人:35.6万
展开全部
你的数组越界了,把小于等于3改成小于3
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式