c語言減法函數(shù)c c語言減法函數(shù)代碼

C語言編寫加減計(jì)算程序

#include stdio.h

創(chuàng)新互聯(lián)主營西陵網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),西陵h5重慶小程序開發(fā)公司搭建,西陵網(wǎng)站營銷推廣歡迎西陵等地區(qū)企業(yè)咨詢

main (void)

{

int a,b,c;

char op;

scanf ("%d%c%d",a,op,b);//最好空格去掉,這樣就可以直接寫成a+b或者a-b。如果有空格的話要記得空格也要打a + b。要不會出現(xiàn)錯誤 ,而且輸入的時候需要用地址符····

if(op=='+')

{c=a+b;}

if(op=='-')

{c=a-b;}

printf("%d%c%d=%d\n",a,op,b,c);//樓主這句應(yīng)該放在數(shù)據(jù)處理完后。。要不你輸出的a,op,b都是在沒處理過的數(shù),也就是原來的值,而且最好是把,去掉,這樣更美觀 ,而且printf后面不需要。。。切記。而且沒必要那樣輸出。請樓主看我的printf```

}

還不清楚 來hi我

怎么用C語言編程一個簡單的減法公式,各位大神們請看

不知道輸入a乘b是什么意思,某種格式么?

#includestdio.h

void main()

{

float a,b;

scanf("%f %f", a,b);

printf("盒=%f 軸=%f 手=%f 底=%f 滑=%f",a-1.3,a-5,a-7,a-6.5,b-5.5);

}

大整數(shù)減法 C語言

#include stdio.h

#include stdlib.h

#include string.h

char a[1000],b[1000];

int c[1001];

int x,y,i,j,k;

int blen=0;

int alen=0;

char flag = '+';//用于減法標(biāo)記負(fù)數(shù)

int Subtract(char *a, char *b, int len) { //為了避免代碼重復(fù),將共同的計(jì)算抽出寫成函數(shù)

int i;

for (i=len-1; i=0; i--) {

if (a[i] b[i]) {

c[i] = a[i] + 10 - b[i];

b[i-1]++;

} else {

c[i] = a[i] - b[i];

}

}

return 0;

}

int Subtraction(){

for (i=0;i100;i++)

{

scanf("%c",b[i]);

if(b[i]=='\n')

break;

blen++;

}

printf("=");

if(alenblen)

{

x=(alen-blen);

for(i=blen-1;i=0;i--)

{

alen--;

b[alen]=b[i];

}

for (i=0;ix;i++)

b[i]='0';

alen=blen+x;

blen=alen;

} else if (blen alen) {

x=(blen-alen);

for(i=alen-1;i=0;i--)

{

blen--;

a[blen]=a[i];

}

for (i=0;ix;i++)

a[i]='0';

blen=alen+x;

alen=blen;

}

for (i=alen-1;i=0;i--) {

a[i]=a[i]-'0';

b[i]=b[i]-'0';

}

if (strcmp(a, b) 0) {

Subtract(a, b, alen);

}else {

flag = '-';

Subtract(b, a, alen);

}

return 0;

}

int Addition(){

for (i=0;i100;i++)

{ scanf("%c",b[i]);

if(b[i]=='\n')

break;

blen++;

}

printf("=");

if(alenblen)

{

x=(alen-blen);

for(i=blen-1;i=0;i--)

{

alen--;

b[alen]=b[i];

}

for (i=0;ix;i++)

b[i]='0';

alen=blen+x;

} else if (blen alen) {

x=(blen-alen);

for(i=alen-1;i=0;i--)

{

blen--;

a[blen]=a[i];

}

for (i=0;ix;i++)

a[i]='0';

blen=alen+x;

alen=blen;

}

for (i=alen-1;i=0;i--) {

a[i]=a[i]-'0';

b[i]=b[i]-'0';

if(c[i+1]+a[i]+b[i]=10)

{

c[i]=(c[i+1]+a[i]+b[i])/10;

c[i+1] = (c[i+1]+a[i]+b[i])%10;

}

else

{

c[i+1]+=(a[i]+b[i]);

}

}

return 0;

}

int main()

{

for (i=0;i100;i++)

a[i]=0;

for (i=0;i100;i++)

b[i]=0;

for (i=0;i101;i++)

c[i]=0;

for (i=0;i100;i++)

{

scanf("%c",a[i]);

if(a[i]=='+')

{

Addition();

goto output1;

}

if(a[i]=='-')

{

Subtraction();

goto output2;

}

alen++;

}

output1:

{

for (i=0;i=alen;i++)

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

return 0;

}

output2:

{

printf("%c", flag);

for (i=0;ialen;i++)

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

return 0;

}

}

代碼運(yùn)行結(jié)果:

123456789-12345

=+123444444

Terminated with return code 0

Press any key to continue ...

123456+111111

=0234567

Terminated with return code 0

Press any key to continue ...

1000000-1

=+0999999

Terminated with return code 0

Press any key to continue ...

1-1000000

=-0999999

Terminated with return code 0

Press any key to continue ...

//對你的代碼作了! 希望有助于你的學(xué)習(xí)。

c語言實(shí)現(xiàn)簡單的加減乘除

1、打開C-Free5.0新建一個空白頁面,然后將C語言的基礎(chǔ)格式寫完,注意格式縮進(jìn)。如下圖所示。

2、然后輸入“?? int a=10; float b=5,c; ”注意: float 是浮點(diǎn)型,int 是整型。這個是用來定義C語言中的數(shù)值的類型,還有如果一個語句結(jié)束那就要打上“;”,這個很重要,不要忘記了。上面的語句是定義了一個a 的整型數(shù),值為10。

3、c定義的一個空白的浮點(diǎn)數(shù),用來當(dāng)作后面的加減后取得值。注意這里有幾個注意點(diǎn),可以看到一個整型的數(shù)和一個浮點(diǎn)數(shù)的加減乘除得到的數(shù)值都是浮點(diǎn)數(shù),所以這里用%f輸出c的值。

4、繼續(xù)將剩下的語言補(bǔ)充完整如下:#include stdio.hmain(){?? int a=10;?? float b=5,c,d,e,f; ?? c=a-b;?? d=a+b;?? e=a*b;?? f=a/b;?? printf("a-b=%f\n",c);?? printf("a+b=%f\n",d);?? printf("a*b=%f\n",e);?? printf("a/b=%f\n",f);}。

5、這樣一個簡單的C語言的加減乘除算是寫好了,運(yùn)行看看。

用C語言編一個減法運(yùn)算

sprintf(result,"%d",c);

是把c這個整形數(shù)以字符串的形式寫到result字符串中,如果c=1000,則result的前四個字符分別是1000,即把整形變成字符串。

#include

stdio.h

#include

string.h

int

main()

{

char

result[35]={0};

int

a,b,c,clen;

int

i;

scanf("%d

%d",a,b);

c=a-b;

sprintf(result,"%d",c);

clen=strlen(result);

for(i=0;iclen;i++)

{

if((clen-i)%3==0i!=0)

printf(",");

printf("%c",result[i]);

}

printf("\n");

return

0;

}

C語言中怎么實(shí)現(xiàn)兩個超大整數(shù)的相加減乘除

#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 = len1len2?len1:len2;

/*? c99之后數(shù)組初始化支持整型表達(dá)式,稱為可變長數(shù)組,但按照c89的標(biāo)準(zhǔn)是不對的

int num1[len]; //將字符串轉(zhuǎn)換成翻轉(zhuǎn)的整型數(shù)組

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] = ilen1 ? arr[len1-i-1]-'0':0;

}

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

{

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

}

//int sum[len]; //定義和數(shù)組

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

int flag=0; //設(shè)進(jìn)位符

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");? ?//如果最高位有進(jìn)位 則輸出一個1

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

{

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

}

printf("\n");

free(num1);

free(num2);

free(sum);

num1 = NULL;

num2 = NULL;

sum = NULL;

return 0;

}

擴(kuò)展資料:

gets()函數(shù)用法

gets是從標(biāo)準(zhǔn)輸入設(shè)備讀字符串函數(shù)。

函數(shù)原型:char*gets(char*str);

功能為:從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針?biāo)赶虻淖址麛?shù)組中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為‘\0’空字符,并由此來結(jié)束字符串。

注意:不會判斷上限,以回車結(jié)束讀取,所以程序員應(yīng)該確保buffer的空間足夠大,以便在執(zhí)行讀操作時不發(fā)生溢出。使用時需要包含stdio.h頭文件

參數(shù)

str為字符串指針,用來存放讀取到的數(shù)據(jù)。

返回值

讀入成功,返回與參數(shù)buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發(fā)生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。

文章題目:c語言減法函數(shù)c c語言減法函數(shù)代碼
當(dāng)前鏈接:http://muchs.cn/article2/hhedoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)網(wǎng)站內(nèi)鏈、網(wǎng)站改版營銷型網(wǎng)站建設(shè)、定制網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站