(c语言)给定一个字符数组,试编程统计非数字的个数,并显示输出。
时间: 2024-03-15 10:43:50 浏览: 28
可以使用循环遍历字符数组,判断每个字符是否为数字,如果不是,则非数字的个数加1。可以使用标准库函数`isdigit()`判断一个字符是否为数字。
以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含isdigit()函数的头文件
int main()
{
char str[] = "a1b2c3d4e5f6";
int non_digits = 0; // 非数字个数初始化为0
int i = 0;
while (str[i] != '\0') // 遍历字符数组,直到遇到字符串结束符
{
if (!isdigit(str[i])) // 如果该字符不是数字
{
non_digits++; // 非数字个数加1
}
i++; // 继续遍历下一个字符
}
printf("非数字的个数为:%d\n", non_digits);
return 0;
}
```
输出结果为:
```
非数字的个数为:6
```
相关问题
c语言给定一个字符数组,试编程分别统计其中大写字母、小写字母、数字、空格和其他字符的个数,并显示输出。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
char str[100];
int i, uppercase=0, lowercase=0, digits=0, spaces=0, others=0;
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin);
for(i=0; str[i]!='\0'; i++) {
if(str[i]>='A' && str[i]<='Z')
uppercase++;
else if(str[i]>='a' && str[i]<='z')
lowercase++;
else if(str[i]>='0' && str[i]<='9')
digits++;
else if(str[i]==' ')
spaces++;
else
others++;
}
printf("大写字母个数: %d\n", uppercase);
printf("小写字母个数: %d\n", lowercase);
printf("数字个数: %d\n", digits);
printf("空格个数: %d\n", spaces);
printf("其他字符个数: %d\n", others);
return 0;
}
```
程序运行后,输入一个字符串,程序会遍历这个字符串,并统计大写字母、小写字母、数字、空格和其他字符的个数,并输出结果。
用c语言求一个给定字符串中的字母的个数
可以用C语言中的字符数组和循环语句来实现统计给定字符串中字母的个数。下面是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数的头文件
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
for(int i = 0; str[i] != '\0'; i++) {
if(isalpha(str[i])) { // 判断当前字符是否是字母
count++;
}
}
printf("字符串中字母的个数为:%d\n", count);
return 0;
}
```
在这个示例代码中,我们先定义了一个字符数组 `str` 来存储输入的字符串,然后定义一个整型变量 `count` 来记录字母的个数。接下来,我们使用 `fgets()` 函数从标准输入中读取输入的字符串,遍历字符串中的每一个字符,使用 `isalpha()` 函数判断该字符是否是字母,如果是,就将 `count` 的值加 1。最后输出统计结果。
值得注意的是,我们在程序开头包含了 `ctype.h` 头文件,这个头文件中包含了许多字符处理函数,其中就包括 `isalpha()` 函数,可以用来判断一个字符是否是字母。