mp.c

来自「C语言 对于给定的消息序列,按照模p信道编码 p=37(符号的个数) 数」· C语言 代码 · 共 48 行

C
48
字号
#include<stdio.h>
#define N 40
void main()
{
	char str[N],ch,s;
	int p[N];
	int i,j=0,k,sum=0,q;
	printf("\n注意:消息的符号序列应为0-9和字母A-Z和空格!\n\n");
	printf("请输入消息的符号序列:\n");
	printf("X=");
	while((ch=getchar())!='\n')
	{
		str[j++]=ch;
	}
	for(i=0;i<j;i++)
	{
		if(str[i]>='0'&&str[i]<='9')
			p[i]=str[i]-48;
		else if(str[i]>='A'&&str[i]<='Z')
			p[i]=str[i]-55;
		else if(str[i]==' ')
			p[i]=36;
		else 
		{
			printf("你输入符号序列不合法,请重新输入!\n");
			return 0;
		}
	}
	printf("消息的符号序列对应的值为:\n");
	for(i=0;i<j;i++)
		printf("%3d",p[i]);
	printf("\n");
	k=j+1;
	for(i=0;i<j;i++)
	{
		sum+=k*p[i];
		k--;
	}
	q=((int)(sum/37)+1)*37-sum;
	if(q>=0&&q<=9)
		s=q+48;
	else if(q==36)
		s=' ';
	else s=q+55;
	printf("监督元为:");
	printf("%c\n",s);	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?