C语言之ABCDEFG

欢迎进入我的C语言世界

题目

Problem Description

表弟今天的英语作业是练习书写前7个英文字母。勤奋的他写了一页、一页、又一页……

Yellowstar想知道表弟总共写了多少笔划。

(附:英文字母标准手写体教程:
在这里插入图片描述

Input

输入第一行为一个正整数T。

接下去T行,每行为前七个英文字母的大小写形式组成的非空字符串,表示一份作业。

T<=20,每行长度<=100。

Output

对于每份作业,输出一行,表示其中的笔划总数。

Sample Input

2
ABCDEFG
abcdefg

Sample Output

15
9

答案

下面展示 实现代码

#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    
    
	int T;
	int i, j;
	int da[7] = {
    
    3, 2, 1, 2, 3, 3, 1};//定义大写字母的笔画 
	int xiao[7] = {
    
    1, 1, 1, 2, 1, 2, 1};
	while(scanf("%d",&T) != EOF)
	{
    
    
		getchar();
		for(i = 0; i < T; i++)
		{
    
    
			char arr[100];
			gets(arr);
			int bihua = 0;
			int l = strlen(arr);
			for(j = 0; j < l; j++)
			{
    
    
				if(arr[j] <= 'G' && arr[j] >= 'A')
				{
    
    
					bihua += da[arr[j] - 'A'];
				}
				else
				{
    
    
					bihua += xiao[arr[j] - 'a'];
				}
			}
			cout << bihua << endl;
		}
	} 
	return 0;
} 

本题感悟

本块内容可能来自课本或其他网站,若涉及侵权问题,请联系我进行删除,谢谢大家啦~

本题“一一对应”的思想,棒!
以上。

猜你喜欢

转载自blog.csdn.net/hongguoya/article/details/105624291