當前位置:首頁 » 編程語言 » 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;

}