洛谷P1055 [NOIP2008 普及组] ISBN 号码(C语言)

发布时间:2024年01月06日

题解:
我们需要建立两个字符串数组一个用来储存号码一个用来储存尾号

char a[14], mod[12] = "0123456789X";


我们需要库函数gets来读取存储号码

gets(a);

用循环来将字符串转化为整数

for(i = 0; i < 12; i++) 
	{
        if(a[i] == '-') continue; 
    	t += (a[i]-'0')*j++;
  	}

然后判断号码尾号是否正确,不正确替换尾号

if(mod[t%11] == a[12]) printf("Right");
  	else 
	{
    	a[12] = mod[t%11]; 
    	puts(a);
  	}

完整代码

#include <stdio.h>
int main()
{
	char a[14], mod[12] = "0123456789X"; 
  	gets(a); 
  	int i, j = 1, t = 0;
  	for(i = 0; i < 12; i++) 
	{
        if(a[i] == '-') continue; 
    	t += (a[i]-'0')*j++;
  	}
  	if(mod[t%11] == a[12]) printf("Right");
  	else 
	{
    	a[12] = mod[t%11]; 
    	puts(a);
  	}
  	return 0;
}

文章来源:https://blog.csdn.net/2301_80267323/article/details/135412500
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。