在c语言里怎么从键盘输入一个较大数字,如10^100 怎样用c语言存一个小于10^100的数

作者&投稿:旁逃 (若有异议请与网页底部的电邮联系)
用字符串的方法 先用字符串输入一个很大的数 任意
然后一个个转换成整型 附上一部分代码
int num1[1000],num2[1000];
main()
{
int i=0,count1=0,count2=0,len=0;
char a[1000],b[1000];
scanf("%s%s",a,b);
count1=strlen(a);
count2=strlen(b);

for(i=count1-1;i>=0;i--)
num1[++num1[0]]=a[i]-'0';
for(i=count2-1;i>=0;i--)
num2[++num2[0]]=b[i]-'0';
}
这样你就可以输入 100000000000000000000000000000000000000000000000000000000无限个0 只要定义字符串数组的时候更改一下位数就可以了
请采纳^ _ ^

使用scanf("%e",&a)语句 
%a,%A 读入一个浮点值(仅C99有效)
  %c 读入一个字符
  %d 读入十进制整数
  %i 读入十进制,八进制,十六进制整数
  %o 读入八进制整数
  %x,%X 读入十六进制整数
  %c 读入一个字符
  %s 读入一个字符串,遇空格、制表符或换行符结束。
  %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
  %p 读入一个指针
  %u 读入一个无符号十进制整数
  %n 至此已读入值的等价字符数
  %[] 扫描字符集合
  %% 读%符号

double a=1e100;
键盘直接输入的话,只有用数字字符串来代替了。

c库函数有个pow(x,y) 表示x^y,可以这样做
scanf("%d %d",&x,&y);
long n = pow(x,y);

如果仅仅是输入的话,用字符串就可以输入你想要长度的数字...

C语言中如何执行 获得一个从键盘上输入的数字~

#include int main(){ double r, pi = 3.14159; printf("请输入半径:"); scanf("%lf", &r); printf("圆的面积是%.2lf
", pi * r * r); return 0;}

如果要精确存储,不损失精度,那么C语言支持的数据类型是做不到的,需要自己用字符串创建一种新的数据类型,并在这个类型上面定义各种运算,类似于自己用代码实现一个小规模的大整数算术运算器,这还是有一定难度和工作量的。

求教:用C语言编写一个程序,循环提示从键盘输入数值,并输出其中的最大...
答:include <stdio.h> void main(){ int arr[10];int max,min;for(int i = 0;i<10;++i){ printf("arr[%d]=",i);scanf("%d",&arr[i]);// printf("\n");} max = min = arr[0];for(int j =0;j<10;j++){ if(arr[j]>max)max = arr[j];if(arr[j]<min)min = ...

C语言 从键盘上输入2个int型数 比较大小,并且显示最小数
答:在 C 语言中,可以使用以下代码从键盘上输入两个整数,比较大小,并显示最小的数:```c include <stdio.h> int main() { int num1, num2, min;printf("请输入两个整数:\n");scanf("%!d(MISSING) %!d(MISSING)", &num1, &num2);if (num1 < num2) { min = num1;} else {...

关于c语言比较两个整数中的较大者?(C语言设计第四版)
答:int a,b,c是先定义了三个整数 下面那句scanf("%d,%d",&a,&b);就是从键盘输入2个数,赋值给a和b,比如输入8,10 a就是8,b就是10 c=max(a,b); max(,)函数就是比较出哪个值大,然后赋给c printf("max=%d\n",c); 就是输出c 输入了8,10的话就会输出 max=10...

从键盘输入两个字符,并输出较大字符ASCII码值。 C语言编程
答:include"stdio.h"main(){char a,b;scanf("%c,%c",&a,&b);if(a>b) printf("%c",a);else printf("%c",b);}

C语言编程:从键盘任意输入三个数,编写求其最大值、最小值的函数,用指针...
答:程序如下:#include<stdio.h>#define MAXSIZE 10main(){int a[MAXSIZE];int k;printf("please inter ten number:");for(k=0;k<MAXSIZE;k++){ scanf("%d",&a[k]);} Fun(a);for(k=0;k<MAXSIZE;k++)printf("%d,",a[k]);} void Fun(int a[]){ int i;int temp;int Max...

c语言 从键盘输入一个数,若大于100则输出字符串“ it is very good...
答:include"stdio.h"void main(){ float a ;printf("请输入1个数:");scanf("%f",&a);if(a>100)printf("\nit is very good");}

用c语言编写一个程序,从键盘上输入3个字符串,输出其中的最大者_百度...
答:1. int strcmp( const char *str1, const char *str2 );功能:比较字符串str1 and str2, 返回值如下:返回值 < 0 str1 < str2 = 0 str1 == str2 > 0 str1 > str2 include <stdio.h>#include <string.h>int main(){ char a[100], b[100], c[100]; printf...

C语言:从键盘输入三个数a,b,c,输出最大的数
答:我在想,如果有其中两个数相等,你咋个办。另外,abc都没初始化。include<stdio.h> main(){int a,b,c,max;scanf("%d%d%d"&a,&b,&c);max=a;if(b>max) max=b;if(c>max) max=c;printf(max)}

用C语言:从键盘输入一个字符串a,并在a串中的最大元素后面插入字符串b...
答:代码:include <stdio.h> include <string.h> define N 356 void main(){ char a[N]={’\0’},b[N]={’\0’},ch,max;int i,j,k,c;/输入字符串/ printf(“请输入字符串”);gets(a);/输入ch的值/ printf(“Input ch:”);scanf("%c",&ch);/求出最大字符/ i=1;max=a[...

C语言:从键盘上输入一批数,分别输出器最大值和最小值(数据结束标识为-1...
答:\n"); printf("Please input the numbers:\n"); int *array = NULL; array = using_new_int(amount); while( i < amount ) { scanf("%d" , &temp );//每输入一个数字就enter(回车)一下 if(temp == -1) break; else array[i] = temp; i++...