用c语言编程:定义一个80个元素的字符数组,输入一串字符存放其中,统计每个数字字符的个数按数字字符的顺序存放在 int c[10]的数组中。并输出结果。
时间: 2023-06-01 14:06:54 浏览: 56
好的,这是一个关于C语言编程的问题。
以下是代码实现:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[80];
int len, i, j;
int c[10] = {0};
printf("请输入字符串:\n");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++)
{
if (str[i] >= '0' && str[i] <= '9')
{
c[str[i] - '0']++;
}
}
printf("每个数字字符出现的次数如下:\n");
for (j = 0; j < 10; j++)
{
printf("%d: %d\n", j, c[j]);
}
return 0;
}
```
注释:程序先定义了一个80个元素的字符数组,接着通过输入一串字符将其存放在其中。然后,程序使用 for 循环遍历这个字符数组,如果该字符数组中的当前字符为数字字符,则将其出现的次数加1,最后按顺序输出每个数字字符出现的次数。
希望能够对您有所帮助。
相关问题
用C语言编程,定义一个80个元素的字符数组,输入一串字符存放其中,统计每个数字字符的个数按数字字符的顺序存放在数组中。并输出结果。
好的,这是一个关于C语言的问题,我可以回答。下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80];
int nums[10] = {0}; // 初始化数字计数数组
printf("请输入一串字符:\n");
fgets(str, 80, stdin); // 获取输入的字符串,最多80个字符
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= '0' && str[i] <= '9') {
// 如果是数字字符,则对应计数数组元素加1
nums[str[i] - '0']++;
}
}
printf("每个数字字符的个数为:\n");
for (int i = 0; i < 10; i++) {
printf("%d: %d\n", i, nums[i]);
}
return 0;
}
```
以上代码定义了一个80个元素的字符数组,并使用`fgets`函数获取用户输入的字符串,接着遍历字符串中的每个字符,如果是数字则在对应的计数数组元素上加1,最后输出每个数字字符的个数。
用C语言编译:定义一个80个元素的字符数组,输入一串字符存放其中,统计每个数字字符的个数按数字字符的顺序存放在 int c[10]的数组中。并输出结果。
好的,这是一个关于编程的问题,我可以为您提供解答。
以下是对应的C语言程序:
```c
#include <stdio.h>
int main()
{
char str[80];
int c[10] = {0};
int i, digit;
printf("请输入一串字符:\n");
gets(str);
i = 0;
while (str[i] != '\0')
{
if (str[i] >= '0' && str[i] <= '9')
{
digit = str[i] - '0';
c[digit]++;
}
i++;
}
printf("每个数字出现的次数按数字顺序存储:\n");
for (i = 0; i < 10; i++)
{
printf("%d出现了%d次\n", i, c[i]);
}
return 0;
}
```
您可以将以上程序拷贝至C语言开发环境中进行编译、测试。程序逻辑基本是输入一段字符,然后遍历这个字符,统计其中每个数字字符的出现次数,并按数字字符的顺序存储。