char ch; int digit, i, minus, other; digit = minus = other = 0; for(i = 1; i <= 5; i++){ ch = getchar(); switch (ch){ case '-': minus++; break; case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : case '8' : case '9' : digit ++;break; default: other ++; break; } } 输入16-or,digit的值是  1 分 ,minus的值是  1 分 ,other的值是2
时间: 2024-03-25 10:40:38 浏览: 36
输入"16-or"时,程序输出如下:
```
digit = 2, minus = 1, other = 2
```
程序如下所示:
```c
char ch;
int digit, i, minus, other;
digit = minus = other = 0;
for(i = 1; i <= 5; i++){
ch = getchar();
switch (ch){
case '-':
minus++;
break;
case '0' : case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
digit++;
break;
default:
other++;
break;
}
}
printf("digit = %d, minus = %d, other = %d\n", digit, minus, other);
```
输入"16-or"时,程序读入5个字符,其中有2个数字字符('1'和'6'),1个减号字符('-'),2个其他字符(' '和'r')。因此,程序输出digit=2,minus=1,other=2。
注意,程序中使用了getchar函数读入字符,可以在控制台逐个输入字符并回车,或者将一串字符复制到控制台并回车。