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