当前位置: 代码迷 >> 综合 >> poj 2498 StuPId
  详细解决方案

poj 2498 StuPId

热度:48   发布时间:2024-01-11 16:36:54.0

之前做过一道类似的题目,有一道。。。这题其实还好,不是那么阴。。。

至少题目里面有打(!)提醒。。。


#include <stdio.h>
#include <string.h>char Num[10];
int factors[]={9,3,7};void process()
{int missPos; //保存丢失了哪一位int i;int sum=0;int numInt;for(i=strlen(Num)-1;i>=0;i--){if(Num[i]=='?')missPos=i;else{numInt=Num[i]-48;sum+=numInt*(factors[(strlen(Num)-1-i)%3]);}}//printf("sum == %d\n",sum);for(i=0;i<10;i++)if((sum+i*(factors[(strlen(Num)-1-missPos)%3]))%10==0){Num[missPos]=i+48;break;}//sum+=i*(factors[(strlen(Num)-1-missPos)%3]);//printf("sum == %d\n",sum);printf("%s\n\n",Num);
}int main()
{int n;scanf("%d",&n);int count=n;int i;while(count--){scanf("%s",Num);printf("Scenario #%d:\n",n-count);process();}return 0;
}