首页 > 代码库 > 140730暑期培训.txt
140730暑期培训.txt
1、大数加减法
思路分析:
1、将数据当做字符串输入(gets(s))
2、将字符型转换为整型,逆着存
char?int i=0,j=len-1, int[i++]=char[j--]
3、从首位开始相加,
若sum>9,int[i]=sum%10,int[i+1]+=sum/10;
4、输入
1>判断int[len]是否为0,是的话跳过,不是的话输出
2>输出int[(len-1)--];
练习题 hdoj1002
#include<stdio.h>
#include<string.h>
int main()
{
int t;
char a[1100],b[1100],beitai[1100];
int c[1100],d[1100],sum[1100];
int i,j,bt,k=1;
int lena,lenb;
scanf("%d",&t);
getchar();
while(t--)
{
scanf("%s %s",a,b);
getchar();
lena=strlen(a);
lenb=strlen(b);
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
memset(sum,0,sizeof(sum));
for(i=0,j=lena-1;i<lena;i++,j--)
c[j]=a[i]-‘0‘;
for(i=0,j=lenb-1;i<lenb;i++,j--)
d[j]=b[i]-‘0‘;
if(lena<lenb)
{
bt=lena;
lena=lenb;
lenb=bt;
}
for(i=0;i<=lena;i++)
{
sum[i]=c[i]+d[i]+sum[i];
if(sum[i]/10>0)
{
sum[i+1]=sum[i]/10;
sum[i]%=10;
}
}
printf("Case %d:\n",k);
k++;
printf("%s + %s = ",a,b);
if(sum[lena]!=0)
printf("%d",sum[lena]);
for(i=lena-1;i>=0;i--)
printf("%d",sum[i]);
printf("\n");
if(t!=0)
printf("\n");
}
return 0;
}
思路分析:
1、将数据当做字符串输入(gets(s))
2、将字符型转换为整型,逆着存
char?int i=0,j=len-1, int[i++]=char[j--]
3、从首位开始相加,
若sum>9,int[i]=sum%10,int[i+1]+=sum/10;
4、输入
1>判断int[len]是否为0,是的话跳过,不是的话输出
2>输出int[(len-1)--];
练习题 hdoj1002
#include<stdio.h>
#include<string.h>
int main()
{
int t;
char a[1100],b[1100],beitai[1100];
int c[1100],d[1100],sum[1100];
int i,j,bt,k=1;
int lena,lenb;
scanf("%d",&t);
getchar();
while(t--)
{
scanf("%s %s",a,b);
getchar();
lena=strlen(a);
lenb=strlen(b);
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
memset(sum,0,sizeof(sum));
for(i=0,j=lena-1;i<lena;i++,j--)
c[j]=a[i]-‘0‘;
for(i=0,j=lenb-1;i<lenb;i++,j--)
d[j]=b[i]-‘0‘;
if(lena<lenb)
{
bt=lena;
lena=lenb;
lenb=bt;
}
for(i=0;i<=lena;i++)
{
sum[i]=c[i]+d[i]+sum[i];
if(sum[i]/10>0)
{
sum[i+1]=sum[i]/10;
sum[i]%=10;
}
}
printf("Case %d:\n",k);
k++;
printf("%s + %s = ",a,b);
if(sum[lena]!=0)
printf("%d",sum[lena]);
for(i=lena-1;i>=0;i--)
printf("%d",sum[i]);
printf("\n");
if(t!=0)
printf("\n");
}
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。