填空题
请补充fun函数,该函数的功能是:按’0’到’9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。
例如:输入:”x=1123.456+0.909*bc”,结果为:1=2,3=1,5=1,7=0,9=2.
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达或语句。#include
#include
#define N 1000
void fun(char *tt, int num[])
{
int i, j;
int bb[10];
char *p = tt;
for (i=0; i<10; i++)
{
num[i] = 0;
bb[i] = 0;
} 来源:www.exam8.com
while (*p)
{
if (*p>='0' && *p<='9')
bb[*p-‘0’]++;
p++;
}
for (i=1, j=0; i<10; i=i+2, j++)
num[j]=bb[i];
}
main()
{
char str[N];
int num[10], k;
printf("\nPlease enter a char string:");
gets(str);
printf("\n*******The original string******\n");
puts(str);
fun(str, num);
printf("\n*******The number of letter******\n");
for (k=0; k<5; k++)
{
printf("\n");
printf("%d= %d ", 2*k+1, num[k]);
}
printf("\n");
}
参考答案:
*p或*p!=0或0!=*p
bb[*p-’0’]++或bb[*p-‘0’]+=1
num[j]=bb[i]
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |