题解 | [NOIP2008]ISBN号码

#include <stdio.h>
int main()
{
	int i,sum=0,count=1;
	char arr[13];
		scanf("%s",arr);
	for(i=0;i<12;i++)
	{
		if(arr[i]>='0'&&arr[i]<='9')
		{
		sum=sum+count*(arr[i]-'0');
		count++;
		}
	}
	if(sum%11==arr[12]-'0'||sum%11==10&&arr[12]=='X')
	{
		printf("Right");
	}
	else if(sum%11!=arr[12]-'0'&&sum%11==10)
	{
		for(i=0;i<12;i++)
		{
			printf("%c",arr[i]); 
		}
		printf("X");
	}
	else 
	{
		arr[12]=sum%11+'0'; 
		for(i=0;i<13;i++)
		{
			printf("%c",arr[i]);
		}
	 } 
	return 0;
}

注意点:

1.使用%s把序列全部输出,我一开始是一个一个输出,导致结果出现错误

2.sum%11==10题目要求识别码是‘x’注意看题目;

3.打印过程要注意识别码的打印

4.用一个数组把序列存起来比较容易

5.ascll数字字符与数字的转变

全部评论

相关推荐

下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务