與正確輸出不相符(line:1)
您的答案為: 94036759373372188512160704328667134005135599841657015230979697039335916025091546600530825963987157325
正確答案為: 542752674349339634925109431351390543043102385172852692458764260471789059534961180576127198631499007338
我的CODE在onlie judge是AC的@@ 不過到這裡 第一個測資就狂錯Orz
可以告知一下第一個測資是什麼嗎@@?
以下是小弟的code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10001
void change(char *a, int *b)
{
int i, len;
len = strlen(a);
memset(b, 0, sizeof(b));
for( i = 0; i < len; i++)
{
b[N - i - 1] = a[len - i -1] - 48;
}
for(i = N - len - 1; i >= 0; i--){
b[i] = 0;
}
}
void add(int *a, int *b)
{
int i, add = 0;
for(i = N - 1; i >= 0; i--)
{
a[i] += b[i] + add;
if( a[i] >= 10){
a[i] -= 10, add = 1;
}
else{
add = 0;
}
}
}
void print(int *a)
{
int i, check;
for(i = 0; i < N; i++)
{
if(a[i] != 0){
check = i;
break;
}
}
for(i = check; i < N; i++)
{
printf("%d", a[i]);
}
printf("\n");
}
int main(void)
{
char in[N];
int in2[N], all[N];
memset(all, 0, sizeof(all));
while( scanf("%s", in) != EOF )
{
if( in[0] == '0'){
break;
}
change(in, in2);
add(all, in2);
}
print(all);
return 0;
}
小弟忘記用自己的帳號發文了XDrz
與正確輸出不相符(line:1)
您的答案為: 94036759373372188512160704328667134005135599841657015230979697039335916025091546600530825963987157325
正確答案為: 542752674349339634925109431351390543043102385172852692458764260471789059534961180576127198631499007338
我的CODE在onlie judge是AC的@@ 不過到這裡 第一個測資就狂錯Orz
可以告知一下第一個測資是什麼嗎@@?
以下是小弟的code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10001
void change(char *a, int *b)
{
int i, len;
len = strlen(a);
memset(b, 0, sizeof(b));
for( i = 0; i < len; i++)
{
b[N - i - 1] = a[len - i -1] - 48;
}
for(i = N - len - 1; i >= 0; i--){
b[i] = 0;
}
}
void add(int *a, int *b)
{
int i, add = 0;
for(i = N - 1; i >= 0; i--)
{
a[i] += b[i] + add;
if( a[i] >= 10){
a[i] -= 10, add = 1;
}
else{
add = 0;
}
}
}
void print(int *a)
{
int i, check;
for(i = 0; i < N; i++)
{
if(a[i] != 0){
check = i;
break;
}
}
for(i = check; i < N; i++)
{
printf("%d", a[i]);
}
printf("\n");
}
int main(void)
{
char in[N];
int in2[N], all[N];
memset(all, 0, sizeof(all));
while( scanf("%s", in) != EOF )
{
if( in[0] == '0'){
break;
}
change(in, in2);
add(all, in2);
}
print(all);
return 0;
}
小弟忘記用自己的帳號發文了XDrz
與正確輸出不相符(line:1)
您的答案為: 94036759373372188512160704328667134005135599841657015230979697039335916025091546600530825963987157325
正確答案為: 542752674349339634925109431351390543043102385172852692458764260471789059534961180576127198631499007338
我的CODE在onlie judge是AC的@@ 不過到這裡 第一個測資就狂錯Orz
可以告知一下第一個測資是什麼嗎@@?
以下是小弟的code
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10001
void change(char *a, int *b)
{
int i, len;
len = strlen(a);
memset(b, 0, sizeof(b));
for( i = 0; i < len; i++)
{
b[N - i - 1] = a[len - i -1] - 48;
}
for(i = N - len - 1; i >= 0; i--){
b[i] = 0;
}
}
void add(int *a, int *b)
{
int i, add = 0;
for(i = N - 1; i >= 0; i--)
{
a[i] += b[i] + add;
if( a[i] >= 10){
a[i] -= 10, add = 1;
}
else{
add = 0;
}
}
}
void print(int *a)
{
int i, check;
for(i = 0; i < N; i++)
{
if(a[i] != 0){
check = i;
break;
}
}
for(i = check; i < N; i++)
{
printf("%d", a[i]);
}
printf("\n");
}
int main(void)
{
char in[N];
int in2[N], all[N];
memset(all, 0, sizeof(all));
while( scanf("%s", in) != EOF )
{
if( in[0] == '0' && in[1] == 0){
break;
}
change(in, in2);
add(all, in2);
}
print(all);
return 0;
}
程式碼裡紅色粗體部分是我幫你加的
測資有可能輸入的是 0123,但用你原本的程式會以為輸入結束
這樣就有AC了
小弟忘記用自己的帳號發文了XDrz
與正確輸出不相符(line:1)您的答案為: 94036759373372188512160704328667134005135599841657015230979697039335916025091546600530825963987157325正確答案為: 542752674349339634925109431351390543043102385172852692458764260471789059534961180576127198631499007338
我的CODE在onlie judge是AC的@@ 不過到這裡 第一個測資就狂錯Orz
可以告知一下第一個測資是什麼嗎@@?
以下是小弟的code
#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 10001
void change(char *a, int *b){ int i, len;
len = strlen(a); memset(b, 0, sizeof(b)); for( i = 0; i < len; i++) { b[N - i - 1] = a[len - i -1] - 48; } for(i = N - len - 1; i >= 0; i--){ b[i] = 0; }
}
void add(int *a, int *b){ int i, add = 0;
for(i = N - 1; i >= 0; i--) { a[i] += b[i] + add; if( a[i] >= 10){ a[i] -= 10, add = 1; } else{ add = 0; } }}void print(int *a){ int i, check; for(i = 0; i < N; i++) { if(a[i] != 0){ check = i; break; } } for(i = check; i < N; i++) { printf("%d", a[i]); }
printf("\n");}
int main(void){ char in[N]; int in2[N], all[N]; memset(all, 0, sizeof(all));
while( scanf("%s", in) != EOF ) { if( in[0] == '0' && in[1] == 0){ break; } change(in, in2); add(all, in2); } print(all); return 0;}
程式碼裡紅色粗體部分是我幫你加的
測資有可能輸入的是 0123,但用你原本的程式會以為輸入結束
這樣就有AC了
感謝大大
小弟AC了