第一种情况:
描述:写出一个程序,接受一个有字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 知识点:字符串,函数,指针 题目来源:内部整理 练习阶段:初级
运行时间限制:10Sec
内存限制:128MByte
输入:输入一个有字母和数字组成的字符串,和一个字符。
输出:输出输入字符串中含有该字符的个数。
样例输入: ABCDEF
A
样例输出: 1
注意:gets()函数在接受字符串的时候并不会,把最后的‘\n’接受进来,在条件判断的时候要注意。这一点啊。
#include<stdio.h>
#include<string.h>
int main()
{
char ch[20]={0};
char c,cx;
char *p=ch;
int num=0;
gets(ch);
scanf("%c",&c);
//int len = strlen(ch);
//int i=0;
if(c>='A'&&c<='Z')
cx=c+32;
else if(c>='a'&&c<='z')
cx=c-'a'+'A';
else
cx=c;
while(*p != 0)
{
if(c == *p || cx == *p)
num++;
p++;
}
/*for(i=0;i<len;i++)
{
if(c == ch[i] || cx == ch[i])
num++;
}*/
printf("%d\n",num);
return 0;
}
第二种情况:
描述:编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。 知识点:字符串,函数,指针
输入:输入N个字符,字符在ACSII码范围内(0~127)。
输出:输出字符的个数。
样例输入:abc
样例输出:3
#include<stdio.h>
#include<string.h>
int main()
{
int a[128]={0};
char ch[1000];
int len, i;
int count=0;
gets(ch);
len=strlen(ch);
for(i=0;i<len;i++)
{
if(a[ch[i]] == 0)
{
count++;
a[ch[i]] = 1;
}
}
printf("%d",count);
return 0;
}