当前位置:编程学习 > C/C++ >>

BNU1064:人品问题

“人品既不能被创生,也不能被消灭。只能从一个人转移到另一个人,从一个层面转化到另一个层面,而在转移和转化的过程当中,人品的总和保持不变。”
至此引出人品学(Characterics)三定律:
第一定律:即人品守恒定律,在任何过程中,宇宙中人品总量保持为常数。
第二定律:不可能把人品从一个人品低的人传到一个人品高的人,而不引起其它变化。
第三定律:不能用有限的步骤使一个人的人品完全消耗。
请大家看一个范例:塞翁的马丢了,他说“没事,攒人品”,当他丢失的马带回来一群马,别人羡慕不已,他则暗叹“不妙,人品消耗的太多”,果然他的儿子因为骑马而摔断了腿后,他摇摇头说“继续攒人品”,等到战争时别人家的孩子被征兵战死沙场,只有他的儿子因为腿断了而幸免,这时他激动地说“人品爆发了啊”……
而现在的人品学家们在人品学理论的微观研究上已取得了革命性突破,在量子力学、大一统论、超弦理论大旗号召下的今天,让我们一起走进量子人品学(Quantum Characteric)的新纪元!
网络上流行着一种根据姓名计算人品值的算法(当然这种方法是相当不科学的,从上面的理论我们知道人品是在不断变化的,所以这种计算毫无意义,不过我们可以计算着玩一下)。这种人品计算的方法很简单,就是一个公式:
 
Ci代表第i个字符的ASCII码值,只有字母和数字参与计算人品值。
下面就需要你写一个人品计算器,可以计算某个姓名对应的人品值。
 
Input
输入数据第一行包括一个整数T(T<100),代表有T组数据.
接下来是T行,每行有一个人的姓名,可能包含空格等特殊字符,但是只有字母和数字参与计算人品值。每行长度不超过140。
 
Output
输出每个姓名对应的人品值。
Sample Input
1
Huang Kun
 
Sample Output
1
 
直接将字幕与数字的ASCII妈加起来对100取余即可
 
#include <stdio.h>  
#include <string.h>  
#include <algorithm>  
using namespace std;  
  
int main()  
{  
    char str[200];  
    int t,i,len;  
    scanf("%d%*c",&t);  
    while(t--)  
    {  
        int sum = 0;  
        gets(str);  
        len = strlen(str);  
        for(i = 0;i<len;i++)  
        {  
            if(str[i]>='a' && str[i]<='z' || str[i]>='A' && str[i]<='Z' || str[i]>='0' && str[i]<='9')  
            sum+=str[i];  
        }  
        printf("%d\n",sum%100);  
    }  
  
    return 0;  
}  

 

 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,