我的任务是从用户那里获取整数,并计算数字1在其中的次数,以下是我的代码:
#include <stdio.h>
int main(){
int choosen_number;
int count = 0;
int onesnumber = 0;
scanf("Please enter an integer %d\n",&choosen_number);
int indicator = choosen_number;
while (indicator > 0){
indicator = indicator/10;
count = count + 1;
}
while (count!=0){
if (choosen_number%10 ==1){
count = count - 1;
onesnumber = onesnumber + 1;
}
choosen_number = choosen_number /10;
}
printf("the number of ones is %d\n",onesnumber );
}当我试图用一个像12312这样的数字来执行它时,每次我尝试这样的操作时,它都会告诉我1的数量是0。
发布于 2018-11-21 02:09:39
1这条线
scanf("Please enter an integer %d\n",&choosen_number);应该是
printf("Please enter an integer: ");
scanf("%d", &choosen_number);2你可以这样做:
#include <stdio.h>
int main(){
int choosen_number;
int count = 0;
printf("Please enter an integer: ");
scanf("%d", &choosen_number);
while (choosen_number != 0) {
if (choosen_number%10 == 1)
++count;
choosen_number /= 10;
}
printf("the number of ones is %d\n", count);
return 0;
}https://stackoverflow.com/questions/53398680
复制相似问题