%Names_scores_22.m
%读取names.txt中的名字,按照字母表中的次序值相加,再乘以该名字在txt中的次序值,即为名字的Names scores
clear all;
close all;
fid=fopen('names.txt','r'); %读取文本数据
contents=fscanf(fid,'%s');
sum_name=0; % 初始化 名字中字母的序列值总和
k=0; % 初始化 对“”, 这三个符号计数,计满3次,算一个名字
name_num=0; % 初始化 名字的次序值
result_num=0; % 初始化 对应名字的Names scores
%将contents中的字符单独输出
for i=1:length(contents)
if((contents(i)>='A')&&(contents(i)<='Z'))
sum_name=sum_name+contents(i)-'A'+1; %求名字序列值总和
else
k=k+1; % 得到不是字母的字符 +1
end
if(rem(k,3)==0) %计数3次
name_num=name_num+1; %名字次序值+1
result_num(name_num)=name_num*sum_name; %求得Names scores
sum_name=0; %清除 名字中字母的序列值总和
end
end
disp(result_num) %输出显示
fclose all;
%读取names.txt中的名字,按照字母表中的次序值相加,再乘以该名字在txt中的次序值,即为名字的Names scores
clear all;
close all;
fid=fopen('names.txt','r'); %读取文本数据
contents=fscanf(fid,'%s');
sum_name=0; % 初始化 名字中字母的序列值总和
k=0; % 初始化 对“”, 这三个符号计数,计满3次,算一个名字
name_num=0; % 初始化 名字的次序值
result_num=0; % 初始化 对应名字的Names scores
%将contents中的字符单独输出
for i=1:length(contents)
if((contents(i)>='A')&&(contents(i)<='Z'))
sum_name=sum_name+contents(i)-'A'+1; %求名字序列值总和
else
k=k+1; % 得到不是字母的字符 +1
end
if(rem(k,3)==0) %计数3次
name_num=name_num+1; %名字次序值+1
result_num(name_num)=name_num*sum_name; %求得Names scores
sum_name=0; %清除 名字中字母的序列值总和
end
end
disp(result_num) %输出显示
fclose all;