[蓝蓝计算机考研算法训练二期]-day2

59 阅读1分钟

3.计算字符串中含有的不同字符的个数

编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII码范围内(0-127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只算一次 例如,对于字符串abaca而言,有a,b,c三个不同的字符,因此输出3. 数据范围1<=n<=500

输入描述

输入一行没有空格的字符串

输出描述

输出字符串中范围在(0-127,包括0和127)字符的种数

代码实现

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    using namespace std;
    int main()
  {	
int num = 0;
int len = 0;
char s [1024] = {0};//存放输入字符串
int  strMap[1024] = {0};//存放映射的值

cin>>s;
len = strlen(s);

for(i =0; i < len; i++)
{
	strMap[s[i]] = 1;
}

for(i =0; i < 1024; i++)
{
	if(strMap[i] == 1)
	{
		num++;
	}
}

cout<<num <<endl;
    }

4.从键盘输入两个数字n,m,求解m,和n的最小公倍数。

代码实现

using namespace std;
void f1(int ,int);
int main(int argc, char* argv[])
{
int x,y;
cout<<"请输入两个整数:";
cin>>x>>y;
f1(x,y);
return 0;
}

void f1(int x,int y)
{
    int z;
if(x<y)
{
   z=y;
}
else
{
   z=x;
}
while(!(z%x==0 && z%y==0))
{
    z++;
}
cout<<"最小公倍数是:"<<z<<endl;
}