C语言——华为机试训练(1-5)
1.题目描述:计算字符串最后一个单词的长度,单词以空格隔开。
输入:hello world 输出:5
#include <stdio.h>
int main(void)
{
char av;
int letters = 0;
printf("输入字符:");
while ((av = getchar()) != '\n')
{
if (av == ' ')
{
letters = 0;
}
else
{
letters++;
}
}
printf("最后一个单词=%d\n",letters);
return 0;
}
2.题目描述:写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入:ABCDEF A 输出:1
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[10000];
char ch;
int length = 0;
gets_s(str,10000);//读入一行字符串,存入数组str中,读取字符串直到换行符'\n'结束
//ch = getchar();
scanf("%c",&ch);
for(int i=0;i<strlen(str);i++)
{
if (str[i] == ch || str[i] == ch - 32 || str[i] == ch + 32)
{
length++;
}
}
printf("相同字符个数:%d\n", length);
return 0;
}