NOIP 2008 普及组 复赛 isbn ISBN号码
2017-03-09 18:42
411 查看
NOIP 2008 普及组 复赛 isbn ISBN号码
1.本题考查字符串基本操作,字符转数字,数字转字符。
2.本题需注意%11,结果可能是0,1,2,3,4,5,6,7,8,9,10 10是两位数,题目太简单了,容易漏看:所得的余数即为识别码,如果余数为10,则识别码为大写字母X 。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>
int main(){
char s[20];
int ans;
scanf("%s",s);
ans=(s[0]-'0')*1+(s[2]-'0')*2+(s[3]-'0')*3+(s[4]-'0')*4;
ans+=(s[6]-'0')*5+(s[7]-'0')*6+(s[8]-'0')*7+(s[9]-'0')*8+(s[10]-'0')*9;
ans%=11;
if(ans==10)
if(s[12]=='X')
printf("Right\n");
else{
s[12]='X';
printf("%s\n",s);
}
else if(ans==s[12]-'0')
printf("Right\n");
else{
s[12]=ans+'0';
printf("%s\n",s);
}
return 0;
}
1.本题考查字符串基本操作,字符转数字,数字转字符。
2.本题需注意%11,结果可能是0,1,2,3,4,5,6,7,8,9,10 10是两位数,题目太简单了,容易漏看:所得的余数即为识别码,如果余数为10,则识别码为大写字母X 。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>
int main(){
char s[20];
int ans;
scanf("%s",s);
ans=(s[0]-'0')*1+(s[2]-'0')*2+(s[3]-'0')*3+(s[4]-'0')*4;
ans+=(s[6]-'0')*5+(s[7]-'0')*6+(s[8]-'0')*7+(s[9]-'0')*8+(s[10]-'0')*9;
ans%=11;
if(ans==10)
if(s[12]=='X')
printf("Right\n");
else{
s[12]='X';
printf("%s\n",s);
}
else if(ans==s[12]-'0')
printf("Right\n");
else{
s[12]=ans+'0';
printf("%s\n",s);
}
return 0;
}
相关文章推荐
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
- noip2008 ISBN号码 (模拟)
- NOIP 2008 普及组 复赛 drawing 立体图
- NOIP2008 ISBN号码(一桶水)【A005】
- NOIP 2008 普及组 复赛 ball 传球游戏
- NOIP2008:ISBN号码
- ISBN号码 2008年NOIP全国联赛普及组
- NOIP2008 普及组 复赛 seat 排座椅
- luogu1055 ISBN号码(NOIP2008普及组第1题)
- NOIP2016普及组11.19复赛总结
- 初中OJ2105【NOIP2016普及组复赛】魔法阵
- 【模拟 集合】[NOIP2008普及组]立体图 tyvj1009
- 【NOIP2016普及组复赛】魔法阵
- |Tyvj|NOIP2008|模拟|P1006 isbn
- NOIP2016普及组复赛广东省一等奖名单及排名
- NOIP 2008普及组 立体图
- NOIP 2012 普及组 复赛 prime 质因数分解
- NOIP 2002 普及组 复赛 选数