Ⅰ c语言编写程序,用户输入一个数字,统计出这个数字各位置数出现的次数。。
#include<stdio.h>
int main()
{
int a,b=0,i,c[10];
printf("请输入一串数字:\n");
for(i=0;i<10;i++)
scanf("%d",&c[i]);
scanf("%d",&a);
for(i=0;i<10;i++)
{
if(c[i]==a);
b++;
}
printf("%d\n",b);
return 0;
}
试试这个行不行
Ⅱ c语言输入数据统计数字个数
这个简单,只要变量字符串,判断每个字符是否是数字(str[i]>='0'
&&
str[i]
<=9就是数字)。如果当前位不是数字,但前一个字符是数字,就说明前面有过一个数字了(数字计数+1).
//比如:
#include<stdio.h>
int main()
{
in i,cnt=0;
char str[11]="ab12cd34dd";
for(i=1;i<11;i++)
if((str[i]<'0' || str[i]>'9') && (str[i-1]>='0' && str[i-1] <=9))
cnt++;
printf("个数%d\n"cnt);
return 0;
}
注意保存字符串的数组,多定义一位,最后一个元素必须是0(也就是结束符合‘\0’);比如上面
我写的常量"ab12cd34dd",只有10个字符,实际内存中有11个字符,最后一个字符就是‘\0’,
所以数组我定义11位,循环也是11位
Ⅲ 用C语言如何提取一个数的各个数位上数字,在不知道是几位数的情况下 PS:顺便判断是几位数
#include<stdio.h>
voidmain()
{
intnum;
intcount=0;
scanf("%d",&num);
while(num!=0)
{
printf("%d",num%10);//提出当前个位
num=num/10;
count++;//累加位数
}
printf(" %d ",count);
}
Ⅳ 用c语言如何实现,统计从键盘输入数字的个数
可以用一个for循环,将上限设置大一点,在循环里加入if判断跳出循环的条件,每次循环计数+1或者等全部数字输入完成之后,直接取字符串长度
Ⅳ C语言怎样提取一个数的十位个位百位千位
设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10
代码如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("个位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
运行结果如图:
(5)统计各个位上数字的个数c语言扩展阅读
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
Ⅵ 用C语言编写:“输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。”
#include <stdio.h>
int main()
{
int num = 0;
int s = 0;
int i = 0;
scanf("%d", &num);
while(num)
{
s += num%10;
num = num/10;
i++;
}
printf("数字个数为%d,各个数相加为%d\n",i, s );
return 0;
}
Ⅶ 统计n个数中各位上的数字均是奇数的数的个数用C语言怎样实现
//这样可以吗
#include <stdio.h>
#define N 50
int judge(int num);
void sort(int num[] ,int n);
void main()
{
int num[N];
int num1[N];//存储符合条件的整数
int i,n=0;
int count = 0;
//进行输入
for(i = 0 ;i<N ;i++)
{
printf("输入第%d个数:",i+1);
scanf("%d",&num[i]);
if(num[i] ==-1)
{
break;
}
n++;
}
//查找有多少个符合条件的整数
for(i = 0 ;i<n;i++)
{
if(judge(num[i]))
{
num1[count] = num[i];
count++;
}
}
//排序
sort(num1,count);
//打印
printf("%d个数中各位上的数字均为奇数的数为:\n",n);
for(i=0;i<count;i++)
{
printf("%d ",num1[i]);
}
printf("\n个数为:%d\n",count);
}
//判断是否为全为奇数
int judge(int num)
{
int temp;
while(num >10)
{
temp = num%10;
if((temp%2) ==0)
{
return 0;
}
num /= 10;
}
return 1;
}
//选择排序
void sort(int num[],int n)
{
int i,j,t,temp;
for(i=0;i<n-1;i++)
{
t=i;
for(j=i+1;j<n;j++)
{
if(num[t]>num[j])
t=j;
}
if(t!=i)
{
temp = num[t];
num[t] = num[i];
num[i] = temp;
}
}
}