Ⅰ 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;
}
}
}