c语言22亿怎么表示

Python023

c语言22亿怎么表示,第1张

数组或字符串来模拟更多规模的数及共运算。现在输入两个整数,请输出它们的和。

输入说明

两行,每行一个整数,每个整数不超过1000位。

输出说明

一行,两个整数的和。

输入样例复

15464315464465465

#include<iostream>

#include<cstring>

using namespace std

int main(){

char a[1005],b[1005],c[1005]//

int i,j,la,lb,r=0,x,y,k=0//r表示进位i,j相当于两个指针,在数组内移动

//k=0表示进行加法运算后的数组指针,指向第一个元素,la表示数组长度,调用strlen函数,需要头文件cstring

cin>>a>>b

la=strlen(a)

lb=strlen(b)

for(i=la-1,j=lb-1i>=0 || j>=0 || r>0i--,j--)

{

if(i>=0) x=a[i]-'0'//当i大于等于0时,i这个指针指向的数组还有元素可以加法运算,并把该元素代表的数值传给x

else x=0//此时a数组中没有元素了,进行加法运算时把x当作0和另一个数组元素相加

if(j>=0) y=b[j]-'0'

else y=0

int sum=x+y+r//求此时a数组元素与b数组元素代表的数值加上进位和

r=sum/10//求进位

c[k++]=sum%10+'0'//将该位上的数值转换为字符型,并传递给c数组

}

for(int s=k-1s>=0s--)

{

printf("%c",c[s])

}

}

登录后复制

482321654151

输出样例

15464797786119616

数据范围提示

数据规模和约定:每个整数不超过1000位

#include<stdio.h>

#include<string.h>

int main()

{

void zh(double r)

double r

printf("请输入金额(范围小于千亿):\n")

scanf("%lf",&r)

if(r>=1000000000000)

printf("输入的数超出范围,请重新输入\n")

zh(r)

}

void zh(double r){

double y

int x,m,n,j,i,k,flag=0

char str1[][4]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}

char str2[][4]={"仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元","角","分"}

int str3[30]

y=r-(int)r

x=(int)r

for(i=0i<=11i++){

m=(int)((int)x%10)

str3[11-i]=m

x=(int)(x/10)

}

str3[12]=(int)(y*10)

str3[13]=(int)(y*100)%10

for(k=0k<=13&&flag==0k++){

if(str3[k]>0){

flag=1n=k

}

}

for(j=nj<=13j++)

printf("%s%s",str1[str3[j]],str2[j])

printf("\n")

}

#include <stdio.h>

char wei[5][6]={"","shi ","bai ",""}

char du[10][6]={"","yi ","er ","san ","si ","wu ","liu ","qi ","ba ","jiu "}

int main()

{

int n,t,a,b,i=0,x,y,z,k=0

int c[12]

scanf("%d",&n)

i=0k=0

t=n

while(t)

{

i++

a = t

t/=10

b=a-10*t

c[i]=b

}

c[0]=0

for(t=it>0t--)

{

if((t==2||t==6||t==10)&&t==i&&c[t]==1)//当十、十万、十亿位为1时不读 yi

else printf("%s",du[c[t]])

x=t%4 //除余4,

if (c[t]*c[t-1]==0) k=1//如果本位或者下位为0,就标记

else k=0

if (c[t]==0&&c[t-1]!=0&&t!=5&&t!=9)//万位为或者亿位为零,就不读 ling

printf("ling ")

if (k==0&&x!=0) printf("%s",wei[x-1]) //如果没有被标记就读出来相应数位的拼音,就是如果输入的数字不包含0,就读,包含有下面的语句执行

if((c[2]!=0&&t==2||c[6]!=0&&t==6||c[10]!=0&&t==10)&&c[t-1]==0)//十位,十万位,十亿位不为零,且下位是0,就读出来这一位,比如20,,230

printf("%s",wei[x-1])

if((c[3]!=0&&t==3||c[7]!=0&&t==7)&&c[t-1]==0)////百位,百万位,不为零,且下位是0,就读出来这一位

printf("%s",wei[x-1])

if(t%4==0&&c[t]!=0) printf("qian ")//读千,千万

if(t==5&&c[t]+c[6]+c[7]+c[8]!=0) printf("wan ")

if(t==9)printf("yi ")

}

return 0

}