『壹』 用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]='