大家好,今天小编关注到一个比较有意思的话题,就是关于c语言取数的的问题,于是小编就整理了4个相关介绍c语言取数的的解答,让我们一起看看吧。
编写程序,从键盘输入一个3位的正整数,输出它的百位?
#include<stdio.h>#include<stdlib.h>int main(){ int num,a,b,c; //输入三位数 printf(34;请输入一个三位整数:\n")
; scanf("%d",&num)
; //输出各位数 a=num/100; b=(num-a*100)/10; c=(num-a*100-b*10)
; printf("千位-%d,十位-%d,个位-%d\n",a,b,c)
; system("PAUSE")
; return 0;}
c语言中的log,ln,lg怎么编写?
首先在C语言中要用到指数、对数的相关公式,需要引入math.h。另外ln是以e为底数,lg是以10为底数。
代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
double exponent, base;
exponent = 3.14;
printf("ln(%f) = %.2f\n", exponent, log(exponent));//以e为底数的对数
exponent = 100;
从0,1,2,9这十个数字中任取四个,能排成四位偶数的概率是多少?
首先分2中可能:
第一,最后一位是0,则其它位数可任意取值为A9(3)[9为下底,3为上低],既有9*8*7中方法;
第二,最后一位是非零偶数,有4中取法,这种情况,首位不能为0,有8中取法,其它2为可任意为8*7中取法,所以这个总共有4*8*8*7中取法
能产生任意四位数的为:10*9*8*7种
所以概率为:(9*8*7+4*8*8*7)/(10*9*8*7)=41/90
C语言中怎么依次取一个8位变量的每一位?
位操作,也是C语言中很重要的技巧!
temp0 = (data&(1<<0))>>0
temp1 = (data&(1<<1))>>1
temp2 = (data&(1<<2))>>2
···
temp7 = (data&(1<<7))>>7
依次取出data(8位)中的每一位。
笨笨的说,比如你的数据在a中,则:
b1=a & (char )0x01;//取第一位
b2=a &(char )0x02;//取第二位
…
b8=a &(char )0x80;//取第八位
应该明白了吧。
ch[0] = data & 0x01;
ch[1] = data & 0x02;
ch[2] = data & 0x04;
ch[3] = data & 0x08;
ch[4] = data & 0x10;
ch[5] = data & 0x20;
ch[6] = data & 0x40;
ch[7] = data & 0x80;
到此,以上就是小编对于c语言取数的的问题就介绍到这了,希望介绍关于c语言取数的的4点解答对大家有用。