| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:编了一个小程序,请高手看看!
只看楼主 加入收藏
yrj007
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-3-17
收藏
 问题点数:0 回复次数:7 
编了一个小程序,请高手看看!
//求两多位数相乘结果,用DEV编译通过
//方法不是很好,请高手提提意见
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
int main()
{
int tra(char ch);
char *num1;
char *num;
int *num2;
int *temp={0};
int sum[1000]={0};
int num3;
int i=0;
int n=0,m=0;
int t=0,r=0;
int len1=0,len2=0;
int k=0;
int w=0;
int h=0,x=0,j=0;
int e1=0,e2=0,e3=0;
printf("Input number\n");
num1=(char *)malloc(1000);//前乘数分配大小
gets(num1);
fflush(stdin);
num=(char *)malloc(1000);//后乘数分配大小
gets(num);
fflush(stdin);
num2=(int *)malloc(1000);//记录数分配大小
temp=(int *)malloc(1000);//记录数分配大小
len1=strlen(num1);
len2=strlen(num);
for(j=len2-1;j>=0;j--) //后乘数从尾到头
{
k++;
t=0;
num3=tra(num[j]); //转为整数
printf("%d\n",num3);
for(w=k;w>1;w--)
num2[t++]=0;
x=0;
for(i=len1-1;i>=0;i--)//前乘数从尾到头
{
m=tra(num1[i]);//转为整数
printf("%d\n",m);
n=num3*m; //后数乘以前数
h=(n+x)%10; //取个位
x=(n+x)/10; //取十位
num2[t++]=h; // 记录位数
}
if(x!=0)
num2[t++]=x;
num2[t]='\0';
temp=num2;
for(w=t-1;w>=0;w--)
printf("%d",temp[w]);
printf("\n");
e3=0;e2=0;e1=0;
for(w=0;w<t;w++)
{
e1=temp[w]+sum[w]+e3;
e2=e1%10;
e3=e1/10;

sum[w]=e2;

}
if(e3!=0)
sum[w++]=e3;
sum[w]='\0';

}
int p=0;
for(p=w-1;p>=0;p--)
printf("%d",sum[p]);
getch();
return 0;
}
int tra(char ch)
{
char *str;
int m;
str=(char *)malloc(6);
str[0]=ch;
str[1]='\0';
m=atoi(str);
return m;
}
搜索更多相关主题的帖子: include 
2007-10-06 22:19
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
收藏
得分:0 
收藏了
2007-10-07 09:10
小灵心
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-10-2
收藏
得分:0 

内存泄漏了~~~~~


2007-10-07 09:27
zhy20045923
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-10-3
收藏
得分:0 
申请了指针,但是没有释放

2007-10-07 11:12
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 
free()哪去呢?这是C不是JAVA

我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2007-10-07 11:23
szzszz2
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-10-6
收藏
得分:0 
申请了指针,但是没有释放 free()哪去呢?
2007-10-14 21:25
wolf777
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-9-12
收藏
得分:0 
程序好长啊,我编的没一个这么长的呢。。。

我是民工,我怕谁。。。
2007-10-14 21:53
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

1.变量申请的确让人汗.应该分块来写
2.上面说到了,申请的空间在结束后没有释放
3.把不必要的输出注释掉,你自己检查的时候可以加,但给别人看的时候,就注释掉
4.你的程序写的很好了,运行了几组数据,都是正确的.


倚天照海花无数,流水高山心自知。
2007-10-14 22:18
快速回复:编了一个小程序,请高手看看!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024622 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved