1. 程式人生 > >VC++6.0和Codeblocks 真的是有很大區別的

VC++6.0和Codeblocks 真的是有很大區別的

從大學接觸計算機程式設計開始,就是用VC++程式設計,直到假期接受了ACM培訓,才開始認識Codeblocks ,老師是這麼跟我們說的,就是標頭檔案那裡 stdio.h 換成 cstdio,其他都類似,一樣可以用scanf,printf 輸入,輸出,然而我們都天真的相信了,直到遇到 1272 :http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1272  那天

程式碼很有缺陷,但是在VC中結果還是對的,在Codeblocks中就完全不是這麼回事了,

 
#include<stdio.h>
#include<math.h>
 
int digui(int a,int n)
{
    int sum;
    if(n == 0)
    {
        sum = 1*a;
    }
    else
    {
        sum = digui(a,n-1) + a*pow(10,n);
    }
 return sum;
}
int main()
{


    int t,i, b = 0, a, n;
    scanf("%d", &t);
    scanf("%d%d",&a, &n);
    while(t--)
    {
        for(i = n; i>0;i--)
{
            b=b + digui(a,n-1);
            n--;
}
    }
    printf("%d\n",b);
    return 0;
}

截圖就不發了,想試試的就試試吧,

最後附上AC過程式碼:

 #include<stdio.h>
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
int a, n, d, sum = 0, i, j;
scanf("%d%d", &a, &n);
d = a;
for(i = 0; i < n; i++)
{
a = d;
for(j = 0; j < i; j++)
{
                 a = a * 10 + d;
}
sum = sum + a;
}
        printf("%d\n", sum);
}
return 0;
}