最近要参加OJ的比赛,所以在平台上拿练习题练练手,结果出现了经典的“答案错误”的问题。
众所周知,OJ的答案判别特别死板,错一点都不行,我深知这一点,但是面对下面的问题仍然无能为力。
原题:https://oj.saikr.com/problem/detail/1093
#include <stdio.h>
int main(){
int LINES,DIGIT=1,COUNT,Count;
scanf("%d",&LINES);
COUNT=LINES;
for (;LINES>0;LINES--){
Count=COUNT;
for(;Count>0;Count--)
printf("%d",DIGIT);
COUNT--;
DIGIT++;
printf("\n");
}
}
经过示例输入、输出核对,完全一样后才上传的,结果它还是说我格式错误。
这时我看上面的题意:输出一个带空格的数字层状三角形,输出样例没有空格,可能样例是错的,所以我修改了代码。
#include <stdio.h>
int main(){
int LINES,DIGIT=1,COUNT,Count,Repetition=0;
scanf("%d",&LINES);
COUNT=LINES;
for (;LINES>0;LINES--){
Count=COUNT;
for(;Count>0;Count--){
if(Repetition)
printf(" ");
else Repetition=1;
printf("%d",DIGIT);
}
Repetition=0;
COUNT--;
DIGIT++;
printf("\n");
}
}
结果说我答案错误,大家可以拿我的代码去试,这不是带空格的数字三角形吗?
在LINES>9时三角形会出现断层,但是题目中没有给出整数范围,应该不用考虑空格对齐这一块。