当前位置:首页 » 编程语言 » c语言计算整数的运算
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言计算整数的运算

发布时间: 2022-11-17 03:41:51

‘壹’ 用c语言编写(计算两个整数的和、 差、积、商与余数

代码一:

#include<stdio.h>

int main(void)

{

int num1, num2;

scanf("%d%d",&num1,&num2);

printf("%d + %d = %d ",num1,num2,num1+num2);

printf("%d - %d = %d ", num1, num2, num1-num2);

printf("%d * %d = %d ", num1, num2, num1*num2);

if (num2) printf("%d / %d = %g ", num1, num2, (double)num1/num2);

else printf("ERROR ,DIVBYZERO ");

printf("%d %% %d = %d ", num1, num2, num1%num2);

return 0;

}

代码二:

#include <stdio.h>

void main()

{

int x, y;

printf("please enter a,b,c:");

scanf("%d,%d",&x,&y);

printf(" x+y=%d ",x+y);

printf("x-y=%d ",x-y);

printf("x*y=%d ",x*y);

printf("x/y=%d ",x/y);

printf("x%%y=%d ",x%y);

}

下图为C语言算术运算符:

(1)c语言计算整数的运算扩展阅读:

算术运算符实例:

#include <stdio.h>

main()

{

int a = 21;

int b = 10;

int c ;

c = a + b;

printf("Line 1 - c 的值是 %d ", c );

c = a - b;

printf("Line 2 - c 的值是 %d ", c );

c = a * b;

printf("Line 3 - c 的值是 %d ", c );

c = a / b;

printf("Line 4 - c 的值是 %d ", c );

c = a % b;

printf("Line 5 - c 的值是 %d ", c );

c = a++;

printf("Line 6 - c 的值是 %d ", c );

c = a--;

printf("Line 7 - c 的值是 %d ", c );

}

‘贰’ 如何用C语言实现长整数的运算

如果你的编译器支持c99标准那么用 long long 来定义64位的整数,这样的数已经很大了!
当然c中可以自己定义有关大数储存运算的函数.要求熟悉数据结构的很多基本知识.当然也可以变通的去实现大数的运算!
举个例子:求10000!的程序:
1.变通的方法求1000!
#include<math.h>
#include<stdio.h>
int main()
{
long i;
double ln=0;
for(i=1;i<=10000;i++)
ln+=log10(i);
i=(long)ln;ln=pow(10,ln-i);
printf("10000!=%lf*10^%ld\n",ln,i);
return 0;
}
2.如果熟悉数据结构的知识可以用下面的方法解决
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
short mul(short a[],short d,short x)
{
long i,y=0;
for(i=0;i<d;i++)
{
y+=a[i]*(long)x;
a[i]=(short)(y%10000);
y/=10000;
}
a[d]=(short)y;
return d+!!y;
}
void main()
{
long s;
short *a,i,j,n,ws=1;
printf("N=");scanf("%d",&n);
#define Pi 3.14159265358979323846L
s=(long)((log(2*Pi*n)/2+n*(log(n)-1))/log(10)+1);
a=(short*)malloc((s/4+2)*sizeof(short));*a=1;

for(i=2;i<=n;i++)
ws=mul(a,ws,i);

printf("%d!=%d",n,a[ws-1]);
for(j=ws-2;j>=0;j--)
printf("%04d",a[j]);
printf("\n");
free(a);
}
===============================================

编程爱好者群:24410693 只要对c有兴趣就可以申请加入本群.

‘叁’ 关于C语言整数计算的问题

请改一下这三行:
int num1,num2;
int result1,result2,result3,result4;

if(num2 == '0')//如果第二个数为0

‘肆’ C语言大整数的四则运算

#include<stdio.h>
intmul(inta[],intk)
{inti,t=0;
for(i=1;i<=a[0];i++)
{a[i]=k*a[i]+t;
t=a[i]/10;
a[i]%=10;
}
for(i=a[0];t;)
{a[++a[0]]=t%10;
t/=10;
}
}
intmain()
{inti,n,a[102]={1,1};
scanf("%d",&n);
printf("%d!=",n);
for(i=2;i<=n;i++)
mul(a,i);
for(i=a[0];i>0;i--)
printf("%d",a[i]);
return0;
}

‘伍’ C语言:整数的运算

int型整数进行除法运算时自动向下取整,如:

a = 3,b = 4 则a/b = 0

a = 3, b = 2则a/b = 1

第一个算式意为对a/b向上取整:

(a+b-1)/b

第二个算式意为对a/b向下取整:

a/b

‘陆’ c语言编写 编写一个简单的计算器,实现两个整型数的四则运算。

#include<stdio.h>

int main()

{int a,b,c,err;

char op;

do

{scanf("%d%c%d",&a,&op,&b);

err=0;

if(a==0&&b==0)break;

if(op=='+')c=a+b;

if(op=='-')c=a-b;

if(op=='*')c=a*b;

if(op=='/')

if(b)c=a/b;else err=1;

if(op=='%')

if(b)c=a%b;else err=1;

if(err)printf("%d%c%d error! ",a,b,c);

else printf("%d%c%d=%d ",a,op,b,c);

}while(1);

return 0;

}

‘柒’ c语言中的整数计算

大数运算,自己实现写个就可以的,给你写了一个。

#include<stdio.h>
#include<string.h>
#defineMAX10001

intmax(intx,inty){
returnx>y?x:y;
}
voidswap(char*a,char*b){
chart=*a;
*a=*b;
*b=t;
}
voidreverse(char*str){
inti,len=strlen(str);
for(i=0;i<len/2;i++)
swap(&str[i],&str[len-1-i]);
}
voidaddBigInt(char*a,char*b,char*result){
inti;
intlenA=strlen(a);
intlenB=strlen(b);
intmaxLen=max(lenA,lenB)+1;

//cal
reverse(a);
reverse(b);

intjw=0,sum;
for(i=0;i<maxLen;i++){
sum=0;
if(i<lenA)
sum=sum+a[i]-'0';
if(i<lenB)
sum=sum+b[i]-'0';
sum+=jw;

jw=sum/10;
sum%=10;
result[i]='0'+sum;
}

for(i=maxLen-1;i>=0;i--)
if(result[i]=='0')
result[i]='';
else
break;

reverse(result);
reverse(a);
reverse(b);
}

intmain(){
chara[MAX],b[MAX],result[MAX];
scanf("%s%s",a,b);

addBigInt(a,b,result);
printf("%s+%s=%s",a,b,result);

return0;
}

‘捌’ C语言中怎么实现两个超大整数的相加减乘除

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#define N 100

int main(int argc, char const *argv[])

{

char arr[N] = {};

gets(arr);

char brr[N] = {};

gets(brr);

int len1,len2,i = 0,j = 0;

len1 = strlen(arr);

len2 = strlen(brr);

int len = len1>len2?len1:len2;

/* c99之后数组初始化支持整型表达式,称为可变长数组,但按照c89的标准是不对的

int num1[len]; //将字符串转换成翻转的整型数组

int num2[len];

*/

int* num1 = (int*)malloc(len*sizeof(int));

int* num2 = (int*)malloc(len*sizeof(int));

for (i = 0; i < len; i++)

{

num1[i] = i<len1 ? arr[len1-i-1]-'0':0;

}

for (j = 0; j < len; j++)

{

num2[j] = j<len2 ? brr[len2-j-1]-'0':0;

}

//int sum[len]; //定义和数组

int* sum = (int*)malloc(len*sizeof(int));

int flag=0; //设进位符

for (i = 0; i < len; i++)

{

sum[len-1-i] = (num1[i]+num2[i]+flag)%10;

flag = (num1[i]+num2[i]+flag)/10;

}

if (flag == 1) printf("1"); //如果最高位有进位 则输出一个1

for (i = 0; i < len; i++)

{

printf("%d",sum[i]);

}

printf(" ");

free(num1);

free(num2);

free(sum);

num1 = NULL;

num2 = NULL;

sum = NULL;

return 0;

}

(8)c语言计算整数的运算扩展阅读:

gets()函数用法

gets是从标准输入设备读字符串函数。

函数原型:char*gets(char*str);

功能为:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

注意:不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。使用时需要包含stdio.h头文件

参数

str为字符串指针,用来存放读取到的数据。

返回值

读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。

‘玖’ c语言如何实现两个整数的乘法运算

亲测可用

long jiecheng(int x)

{

long int i,k=1;

for(i=1;i<=x;i++)

k=k*i;

return k;

}

int main()

{

long int j,k=0;

int i;

for(i=1;i<=20;i++)

{

j=jiecheng(i);

k+=j;

}

printf("%ld ",k);

}

输出的结果是2561327494111820313

(9)c语言计算整数的运算扩展阅读:

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。

亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

计算方法:

大于等于1:

任何大于等于1 的自然数n 阶乘表示方法:n! =1×2×3×...×(n-1)n或n! = n×(n-1)!

0的阶乘:0!=1。

参考资料:网络——阶乘

‘拾’ C语言两个整型数的算术运算

第1空填 scanf("%d",&a);

第2空填 scanf("%d",&b);

第3空填 a+b;

第4空填 a-b;

第5空填 a*b;

第6空填 a/b;

第7空填 a%b;

第8空填 printf("差=%d ",sub);

第9空填 printf("积=%d ",mul);

第10空填 printf("商=%d ",div);

第11空填 printf("余数=%d ",oct);

完整的C语言程序如下

#include<stdio.h>

int main(void)

{

int a,b;//a和b是输入的两个整型值

int add,sub,mul,div,oct;//分别存放和,差,积,商,余数

scanf("%d",&a);//输入a

scanf("%d",&b);//输入b

add=a+b;//和

sub=a-b;//差

mul=a*b;//积

div=a/b;//商

oct=a%b;//余数

printf("和=%d ",add);//输出和

printf("差=%d ",sub);//输出差

printf("积=%d ",mul);//输出积

printf("商=%d ",div);//输出商

printf("余数=%d ",oct);//输出余数

return 0;

}