int count_place(int x) // 計算數字的位數
{
int tmp = x;
int i = 0;
while(tmp!=0 && )
{
tmp = tmp/10;
i++;
}
return i;
}
void add_vertical(int a, int b) // 加法豎式
{
int i;
int place_one = count_place(a);
int place_two = count_place(b);
int sum;
sum = a + b;
int place_three = count_place(sum);
if(place_one == place_two)
{
printf("\t%d\n",a);
printf("\t%d\n",b);
}
if(place_one > place_two)
{
int diff = place_one - place_two;
printf("\t %d\n",a);
printf("+\t ");
for(i=0;i<diff;i++)
{
printf(" ");
}
printf("%d\n",b);
}
printf("-----------------------");
// 同樣的方法,按照位數的差定位并輸出sum,就是正確的豎式
}
uj5u.com熱心網友回復:
第五行筆誤
uj5u.com熱心網友回復:
void add(int a, int b)
{
printf("%10d\n+%9d\n---------------------\n%10d\n\n", a, b, a + b);
}
void sub(int a, int b)
{
printf("%10d\n-%9d\n---------------------\n%10d\n\n", a, b, a - b);
}
void mul(int a, int b)
{
int res = a * b;
printf("%10d\n*%9d\n---------------------\n", a, b);
int count = 1;
for (;b != 0;)
{
int c;
c = b % 10;
b = b / 10;
int i = a * c, j = 0;
for (;i != 0;j++)
{
i = i / 10;
}
i = 9 - i;
i = i - count;
for (;i != 0;i--)
{
printf(" ");
}
printf("%d\n\n", a * c);
count++;
}
if (count != 2)
{
printf("---------------------\n%10d\n\n", res);
}
else
printf("\n");
}
我自己寫了個這樣的,但還是有一點問題
uj5u.com熱心網友回復:
豎式那一段,我用C寫了一部分,剩下把C++轉化為C基本都能搞定。
int count_place(int x) // 計算數字的位數
{
int tmp = x;
int i = 0;
while(tmp!=0 && )
{
tmp = tmp/10;
i++;
}
return i;
}
void add_vertical(int a, int b) // 加法豎式
{
int i;
int place_one = count_place(a);
int place_two = count_place(b);
int sum;
sum = a + b;
int place_three = count_place(sum);
if(place_one == place_two)
{
printf("\t%d\n",a);
printf("\t%d\n",b);
}
if(place_one > place_two)
{
int diff = place_one - place_two;
printf("\t %d\n",a);
printf("+\t ");
for(i=0;i<diff;i++)
{
printf(" ");
}
printf("%d\n",b);
}
printf("-----------------------");
// 同樣的方法,按照位數的差定位并輸出sum,就是正確的豎式
}
第五行筆誤
void add(int a, int b)
{
printf("%10d\n+%9d\n---------------------\n%10d\n\n", a, b, a + b);
}
void sub(int a, int b)
{
printf("%10d\n-%9d\n---------------------\n%10d\n\n", a, b, a - b);
}
void mul(int a, int b)
{
int res = a * b;
printf("%10d\n*%9d\n---------------------\n", a, b);
int count = 1;
for (;b != 0;)
{
int c;
c = b % 10;
b = b / 10;
int i = a * c, j = 0;
for (;i != 0;j++)
{
i = i / 10;
}
i = 9 - i;
i = i - count;
for (;i != 0;i--)
{
printf(" ");
}
printf("%d\n\n", a * c);
count++;
}
if (count != 2)
{
printf("---------------------\n%10d\n\n", res);
}
else
printf("\n");
}
眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......
值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......