CSP考試 2013年3月第2題 ISBN號碼 C語言實現

 題目分析:

該題是對一串字符進行處理,主要是區分數字型字符與非數字型字符,所以只要通過標準輸入將字符轉化爲整型再繼續運算就可以得到。

C語言源程序:

#include<stdio.h>
#include<stdlib.h>
#define N 13
int main()
{
	int i,j=1;
	char ch;
	int sum=0;
	char num[N];
	for(i=0;i<N;i++)
	{
		scanf("%c",&ch);
		num[i]=ch;
        //這地方是細節,需要將字符轉化爲整型參與運算
		if(ch!='-' && i!=(N-1))
		{
			sum=sum+(ch-'0')*j;
			j++;
		}		
	}
	if(sum%11==10)
	{
		if(num[N-1]=='X')
		{
			printf("Right");
		}
		else
		{
			num[N-1]='X';
			for(i=0;i<N-1;i++)
			{
				printf("%c",num[i]);
			}
			printf("%c",num[N-1]);
		}
	}
	else
	{
		if((num[N-1]-'0')==(sum%11))
		{
			printf("Right");
		}
		else
		{
			num[N-1]=sum%11+'0';
			for(i=0;i<N;i++)
			{
				printf("%c",num[i]);
			}
		}
	}
	return 0;
}

運算結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章