用下标为0的元素统计字符“0”的个数,用下标为1的元素统计字符“1”出现的次数,……。输出每个奇数字符出现的次数。
C语言编程题,求解答
#include <stdio.h>
void main(void)
{
char str[80];
int i;
int num[10] = { 0 };
scanf("%s", str);
for(i=0; str[i]!='\0'; i++)
{
num[str[i] - '0']++;
}
for(i=0; i<10; i++)
{
if ((i % 2 != 0) && (num[i] != 0))
printf("%d :: %d\n", i, num[i]);
}
}
如有不懂可留言
void main(void)
{
char str[80];
int i;
int num[10] = { 0 };
scanf("%s", str);
for(i=0; str[i]!='\0'; i++)
{
num[str[i] - '0']++;
}
for(i=0; i<10; i++)
{
if ((i % 2 != 0) && (num[i] != 0))
printf("%d :: %d\n", i, num[i]);
}
}
如有不懂可留言
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-09-05
给你思路
假设str[80]里面的数字都是0-9
先初始化num[10]都为0
循环str[80]
num[str[i]] = num[str[i]] + 1;
循环结束后 num[10]里就是统计的内容追问
假设str[80]里面的数字都是0-9
先初始化num[10]都为0
循环str[80]
num[str[i]] = num[str[i]] + 1;
循环结束后 num[10]里就是统计的内容追问
我是完全不会啊,大哥,给编一下程吧
追答我可以用java写,c大学里学过,语法都忘记了
#include
main()
{
int str[80],num[10];
int i=0,m=0;
char c;
for(i=0;i<=9;i++)
{
num[i]=0;
}
for(i=0;i<=79;i++)
{
scanf("%d",&str[i]); //输入0-9的数字
if(str[i]==99)break; // 输入99则跳出输入
m=str[i];
num[m]=num[m]+1; // 统计
}
for(i=0;i<=9;i++)
printf("%d",num[i]); //打印统计
getch();
}