c语言编写程序:输入两个数a,b,求输出他们的和。(a,b可能为大于100亿的数)

如题所述

#include "stdio.h"

void main()
{
    long double a = 0;
    long double b = 0;
    printf("----------本程序用于计算两数之和,请根据提示输入两个数--------\n");
    printf("请输入a:");
    scanf("%Lf",&a);
    getchar();
    printf("请输入b:");
    scanf("%Lf",&b);
    printf("%Lf+%Lf=%Lf",a,b,a+b);
    
}
/*
说明:
C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.
这里使用long double已经够用了也可以解决两个最大的double加起来得到的值超过原有的范围了。
当然,这里你也不能输入两个最大的long double来相加,不然结果也会超过范围的。

关于数据类型输入输出格式的问题。
 %hi 代表 short, 
 %i 代表 int,
 %li 代表 long, 
 %f 代表 float, 
 %lf 代表 double, 
 %Lf 代表 long double, 
 %c 代表 char (或 %i 表示输入为一个数字)
 %s 代表 string (char * or char[])
需要注意一下,以免强制类型转换时可能会发生溢出该数据类型范围。
*/

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-03-30
#include<stdio.h>
long add(){long a,long b){
return a+b;

}
int main(){
int a=100000000;

int b=200000001;

printf("%ld\n",add(a,b));

return 0;

}
第2个回答  2018-12-29
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

char a[][10]={"zero","one","two","three","four","five","six","seven","eight","nine"};

int tra(char num[]){
int i;
for(i=0;i<10;i++){
if(strcmp(num,a[i])==0)
return i;
}
}

int main()
{
int A,B;
char num[10];
while(1){
A=B=0;
while(scanf("%s",num)&&strcmp(num,"+")!=0){
A=10*A+tra(num);
}
while(scanf("%s",num)&&strcmp(num,"=")!=0){
B=10*B+tra(num);
}
if(A+B>0){
printf("%d\n",A+B);
}
else {
break;
}
}
return 0;
}

编写程序,输入3个字符串,比较它们的大小,并将它们按由小到大的顺序输 ...
1、首先打开vc6.0, 新建一个项目。 2、添加头文件。 3、添加main函数。 4、定义x, y, z, t。 5、使用scanf给定义的变量赋值。 6、使用printf输入。 7、运行程序,可以看到输入的3个字符串,比较它们的大小,并将它们按由小到大的顺序输出。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服...

C语言中怎么存放100亿以上的数字
int i, j, k;int count;\/* 记数变量 *\/ int flag;\/* 记数变量 *\/ int lenMax;\/* 记录数组sum的长度变量 *\/ int sum[SIZE] = { 0 };\/* 过度数组 *\/ int copy[SIZE] = { 0 };\/* 将数字拆分保存在里面 *\/ int tmp[SIZE][SIZE] = { 0 };\/* 过度数组 ...

C语言计算100亿质数表
从[公式] 开始,未被标记的数即为质数。这种方法避免了取余运算,有效地减少了计算量。编写C代码时,需要考虑内存管理,例如使用long long unsigned int存储大数值,并优化内存占用,仅保留每个数是否被筛掉的二进制信息,这只需要[公式] 的内存空间。代码中关键部分包括两个函数:一是找出质数并标记其...

求C几个语言的程序
1.输入a,b,c三个整数数,输出其中值居中的那个数及其值。include "Stdio.h"main(){ int a,b,c,t,middle;scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;} if(b<c) middle=b;else if(a>c) middle=a;else middle=c;printf("the middle number is %d\\n",middle);} ...

四编写程序,从键盘输入一个50-100之间的整数,求1到所输入整数的累加和如...
以下是使用C语言编写的程序,实现从键盘输入一个50-100之间的整数,求1到所输入整数的累加和,并在输入错误时给出提示。include <stdio.h> int main() { int n, sum = 0;printf("请输入一个50-100之间的整数:");scanf("%d", &n);if (n < 50 || n > 100) { printf("输入错误,...

求一个C语言程序的实现.输入任意数字能对应显示中文的大写.比如输入1...
void fenli(int x) \/\/这个是把这个数各个位分离的子程序 { int yi,qw,bw,sw,w,q,b,s,g;yi=x\/100000000;qw=x%100000000\/10000000;\/\/千万位 bw=x%10000000\/1000000;sw=x%1000000\/100000;w=x%100000\/10000;q=x%10000\/1000;b=x%1000\/100;s=x%100\/10;g=x%10;if(yi>0){ displ...

用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数
\/*用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数*\/ include"stdio.h"int count(int n){ int i,j,c=0;for(i=1;i<=n;i++){ j=i;while(j!=0){ if(i%10==1) \/*判断位数中是否有1*\/ { c++;} j=j\/10; \/*让数除以十让他原来的高位变为低位,即原来的十位...

VC++ 6.0 C语言 存放一个大于100亿的未知数 且能求余
c++的基本类型不支持 需要自己定义大整数类型 自己定义求余函数进行计算 算是c++的一些基本习题吧,楼主有兴趣可以自己写写玩

用c语言写一个简易抽奖程式,要求有对档案的操作
用c语言写一个简易抽奖程式,要求有对档案的操作 hello; 20个号码在萤幕上滚动输出,可以用时间函式和清屏函式处理。最后回车键选中停止,其实也就是一个跳出死回圈的步骤。嗯,这样应该可以了吧。我也没做,很久没写程式了。你试着写一下。 用c语言写一个简易抽奖程式,要求涉及到档案的操作 #include <bits\/std...

编程:设 M 和 N 是正整数,输入 M,求当 2 的 N 次方大于等于 M 时,N...
2017-05-24 VB编写程序 计算当2的n次方大于100时,n的最小值是 1 2014-06-20 输入整数n(n>0),求m使得2的m次方小于或等于n、2 的... 3 2016-03-31 c语言,求最小值:输入一个正整数n,再输入n个整数,输出最小... 5 2012-03-05 VB编写程序 用来计算m的n次方 5 2016-10-24 vb编写2∧m...

相似回答