‘壹’ 用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]='