华为机试题(9)--将两个数从字符串转为数,将这两个数做乘积后再转化为字符串保存起来...

本文介绍了一种使用 C/C++ 实现的字符串乘法方法。该方法首先将字符串中的数字字符转换为整数进行乘法运算,然后将结果再次转换回字符串形式。通过具体的代码示例展示了如何处理这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. voidmul(char*input1,intn1,char*input2,intn2,char*output)
  4. {
  5. char*p1=input1;
  6. char*p2=input2;
  7. intres1,res2,res;
  8. chartmp[50];
  9. intm=0,i;
  10. if(p1==NULL||p2==NULL)
  11. return;
  12. res1=*p1-'0';
  13. while(*++p1)
  14. res1=10*res1+(*p1-'0');
  15. printf("res1=%d\n",res1);
  16. res2=*p2-'0';
  17. while(*++p2)
  18. res2=10*res2+(*p2-'0');
  19. printf("res2=%d\n",res2);
  20. res=res1*res2;
  21. while(res>0)
  22. {
  23. tmp[m]=res%10+'0';
  24. res=res/10;
  25. m++;
  26. }
  27. tmp[m]='\0';
  28. for(i=0;i<m;i++)
  29. output[i]=tmp[m-1-i];
  30. output[m]='\0';
  31. }
  32. intmain()
  33. {
  34. charinput1[50]="19";
  35. charinput2[50]="19";
  36. charoutput[50];
  37. mul(input1,strlen(input1),input2,strlen(input2),output);
  38. printf("mulresult=%s\n",output);
  39. system("pause");
  40. return0;
  41. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值