{
c[i]=(a[i]+b[i]+k)%10;
k=(a[i]+b[i]+k)/10;
}
if(k != 0)
{
c[len_max]=1;
}
printf("Case %d:\n",num);
num++;
printf("%s + %s = ",str1,str2);
if(c[len_max] == 1)
printf("1");
for( i=len_max-1;i>=0;--i)
{
printf("%d",c[i]);
}
printf("\n");
if(t>=1)
printf("\n");
}
return 0;
}
...展开
望采纳!!
#include
#include
int main()
{
int t,i,len_str1,len_str2,len_max,k,num=1;
char str1[1000];
char str2[1000];
scanf("%d",&t);
getchar();
while(t--)
{
int a[1000]={0},b[1000]={0},c[1001]={0};
scanf("%s",str1);
len_str1=strlen(str1);
for( i=0;i<=len_str1-1;++i)
{
a[i]=str1[len_str1-1-i]-'0';//将字符转换为整型;
}
scanf("%s",str2);
len_str2=strlen(str2);
for( i=0;i<=len_str2-1;++i)
{
b[i]=str2[len_str2-1-i]-'0';
}
if(len_str1>len_str2)
{
len_max=len_str1;
}
else
{
len_max=len_str2;
}
//len_max=len_str1>len_str2?len_str1:len_str2;
k=0;
for( i=0;i{
c[i]=(a[i]+b[i]+k)%10;
k=(a[i]+b[i]+k)/10;
}
if(k != 0)
{
c[len_max]=1;
}
printf("Case %d:\n",num);
num++;
printf("%s + %s = ",str1,str2);
if(c[len_max] == 1)
printf("1");
for( i=len_max-1;i>=0;--i)
{
printf("%d",c[i]);
}
printf("\n");
if(t>=1)
printf("\n");
}
return 0;
}
收起
16届(2010)NOIP初赛提高组C语言答案
CCF NOIP2010提高组(C语言)参考答案与评分标准 一、单项选择题(共10题,每题1.5分,共计15分) 1 2 3 4 5 6 7 8 9 10 C A A D B D C B C B 二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得分) 1 2 3 4 5 6 7 8 9 10 ACD AD ABD AC B B D D BCD ABC 三、问题求解(共3题,每题5分,共计15分) 1.yyxy xx yyxy xyx xx xyx 2.12 3.18 四、阅读程序写结果(共4题,每题7分,共计28分) 1.16 2.1 2 3 5 6 7 9 10 14 3.4 4.1 6 9 5 4 8 3 2 7 五、完善程序(第1空2分,其余10空,每空2.5分,共计27分) (说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查) 1.① num <= 2(或num < 3 或num = 2) ② go(LEFT_TO_RIGHT) ③ pos[i] == LEFT(或LEFT == pos[i]) ④ time[i] + go(RIGHT_TO_LEFT)(或go(RIGHT_TO_LEFT) + time[i]) ⑤ pos[i] = LEFT 本小题中,LEFT可用1代替,LEFT_TO_RIGHT可用1代替,RIGHT_TO_LEFT可用0代替。 2.① opt[k] ② home[r] := k ③ j = i + i(或j = 2 * i 或j = i * 2) ④ swap(i, j)(或swap(j, i)) ⑤ value[i] + heap[1](或heap[1] + value[i]) ⑥ i - m