c语言 统计一个整数中数字的个数

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:28:01
题目是输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
读入1 个整数,统计并输出该数中2的个数。
不知道那里出了问题,请大人帮忙看一下~~先谢了~!
#include "stdio.h"
int main( )
{
int ri,repeat;
int i,count, digit[10];
long in;

count=0;
for(i=0;i<10;i++)
digit[i]=0;

scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%ld", &in);
if (in<0)
in=-(int)in;
while(in>0){
digit[i]=in%10;
in=in/10;
}
for(i=0;i<10;i++){
if(digit[i]==2)
count++;
}
printf("count=%d\n",count);
count=0;
}
}

#include <stdio.h>
int main( )
{
int ri,repeat;
int i,count, digit[10];
long in;

count=0;
for(i=0;i<10;i++)
digit[i]=0;

do {
printf ("Input repeat:\n");
scanf("%d",&repeat);
}
while (repeat<=0 || repeat>=10);
for(ri=1;ri<=repeat;ri++){
printf ("Input in:\n");
scanf("%ld", &in);
if (in<0)
in=-(int)in;
i = 0; //初始化i
while(in>0){
digit[i]=in%10;
in=in/10;
i++;
}
for(i=0;i<10;i++){
if(digit[i]==2)
count++;
}
printf("count=%d\n",count);
count=0;
for(i=0;i<10;i++) //初始化数组digit
digit[i]=0;

}
}

in=-in;