1. c語言怎麼取出數字
#include<stdio.h>
#include <stdlib.h>
int main()
{
int data;
int temp;
printf("請輸入一個整數:");
scanf("%d", &data); // 接收用戶輸入的整數,並賦值給變數data
printf("%d從最低位到最高位分別為:\n", data);
int index = 0;
while (data > 0) // 當data=0或小於0時,退出循環,此時所以位數都已取出
{
if (index > 9)
break;
temp = data % 10; // 取出data的最低位
data = data / 10; // 將去掉data的最低位,次低位變為最低位
switch (index)
{
case 0:
printf("個位:%d \n", temp); // 輸出最低位(個位)
break;
case 1:
printf("十位:%d \n", temp); // 輸出最低位(十位)
break;
case 2:
printf("百位:%d \n", temp); //輸出最低位(百位)
break;
case 3:
printf("千位:%d \n", temp); //輸出最低位(千位)
break;
case 4:
printf("萬位:%d \n", temp); //輸出最低位(萬位)
break;
case 5:
printf("十萬位:%d \n", temp); //輸出最低位(十萬位)
break;
case 6:
printf("百萬位:%d \n", temp); //輸出最低位(百萬位)
break;
case 7:
printf("千萬位:%d \n", temp); //輸出最低位(千萬位)
break;
case 8:
printf("億位:%d \n", temp); //輸出最低位(億位)
break;
default:
break;
}
index++;
}
}
2. c語言如何截取一串數字中的一部分
這種計算肯定是從右邊向左,不停的移位運算,然後用與運算,根據每個需要截取的數字的位數確定移位運算的右移數字,在確定與運算的數字,所有都計算完成後最左邊的用零補足。
3. c語言如何截取右邊的數字
反向查找'.'這個字元,第一次出現的位置,記為k,字元串長度記為len,則從k至len-1截取字元串,即為文件的後綴
4. C語言中數字的提取
int x;
123456 取個位:x=123456%10
取白位:x=(123456%100)/10
1234.56 小數點後面的第一位: x=((int)(1234.56*10))%10
1234.56 小數點後面的第二位: x=((int)(1234.56*100))%10
5. C語言 將用戶輸入的字元串中的所有數字提取出來
樓主採納我吧
#include
<stdio.h>
void
main()
{
char
str[80],digit[80];
char
*ps;
int
i=0;
gets(str);
ps=str;
while(*ps!='\0')
{
if(*ps>='0'&&*ps<='9')
{
digit[i]=*ps;//若當前字元是數字字元,保存到digit【i】裡面,並且i的下標加1
i++;
}
ps++;//不管是不是,判斷完當前的字元*ps之後,ps++,表示移動到下一個字元判斷
}
digit[i]='\0';//給保存數字字元的字元數組加上個結束符號『\0』,因為printf(%s)是以'\0'表示字元結束的
}
6. c語言,截取前幾個數字用什麼函數
#include<stdio.h>
#define max 200 //輸入的數最多兩百個
int main()
{
int i,input,len=0;
int a[max],front;
printf("\nplease input the number!\n");
scanf("%d",&input);
printf("請輸入要取出的位數!\n");
scanf("%d",&front);
len=strlen(input); //輸入數字的長度
for(i=0;i<front;i++) //用來取出所有的單個數字
{
a[i] =input/(10^len);
input=input%(10^len);
len--;
}
for(i=0;i<front;i++)
{
printf("%d",a[i]);
}
}
這道題應該能運行,不能的話,發個消息過來,我來調試下!
7. C語言怎樣截取數字的某幾位/這題怎麼做(在線等)
我的要煩瑣點,不過你看得懂就可以:
#include <stdio.h>
int main( )
{
int time1, time2, hours, mins, t1h, t1m, t2h, t2m;
scanf("%d%d", &time1, &time2);
/*---------*/
t1m = time1 % 100; // 存儲time1的分數
t1h = time1 / 100; // 存儲time1的小時數
t2m = time2 % 100; // 同上
t2h = time2 / 100; // 同上
if(t2m < t1m)
{
mins = t2m + 60 - t1m; // 不足借60分減去一小時
--t2h;
}
else
mins = t2m - t1m;
if(t2h < t1h)
hours = t2h + 24 - t1h; // 不足借1天
else
hours = t2h - t1h;
printf("The train journey time is %d hrs %d mins.\n", hours, mins);
}
這程序有個限制就是你不能輸入大於24的數字作為小時和大於60的數字作為分鍾,否則結果不確定;而且如果前後兩個時間跨越的天數不止一天的話算出來的其實也是一個小於24小時的時間(相當於假定只跨越了一天)。
8. C語言中如何將一個數字的各個位上的數分別提取
#include<stdio.h>
int main()
{
int a;
int b[111]={0};//這里數組必須賦於初值,不然系統會隨機賦值,將輸出錯誤!賦值任何數
scanf("%d",&a);//都行!
int i=0;
while(a!=0)
{
b[i]=a%10;//將各個位的數賦值於數組b[i] ;
a/=10; //現在數組b[i]記錄的是各個位上的數的反序;
i++;//i記錄這個數是幾位數 ;
}
for(int j=i-1;j>=0;j--)
{
printf("%d ",b[j]);//最後反序輸出數組b[j];
}
return 0;
}
有不理解的地方,歡迎追問。望採納!
9. C語言中怎樣從一串數字中提取一個數
可以先把這個數字改成一個字元串,然後再把你要的第幾個數字提出來即可,如:x0dx0ainti=12345;x0dx0acharch[10];x0dx0asprintf(ch,"%d",i);//把i輸出到字元串(和printf用法一樣)x0dx0aprintf("%c\n",ch[2]);//輸出這個字元串的第3個字元(下標是2)x0dx0a就會輸出3