当前位置:首页 » 编程语言 » c语言nr

c语言nr

发布时间: 2023-07-31 01:32:29

‘壹’ 求十进制转换二进制c语言代码

求十进制转换二进制C语言代码代码如下:

#include<stdio.h>

#defineNR(sizeof(int)*8)//二进制位的个数

voiddeciToBin(intnum);//十进制转换为二进制函数声明

/*主函数*/

intmain(void)

{

intnum;

fprintf(stdout,"请输入一个正整数:");

/*获取并检查用户输入*/

while(1)

{

if(fscanf(stdin,"%d",&num)!=1)

{

fprintf(stderr,"输入错误!请重新输入:");

while(getchar()!=' ');//去掉多余的非法字符

continue;

}

elseif(num<0)//输入的数不能为负数

{

fprintf(stderr,"请输入错误!请输入正整数:");

continue;

}

else

break;

}

fprintf(stdout,"对应二进制为:");

#if1/*方法一:不使用递归*/

charbitArr[NR];

inti=-1;

/*算法:栈的数学模型*/

do{

i+=1;

bitArr[i]=num%2;

num/=2;

}while(num!=0);

/*逆序打印*/

for(i;i>=0;i--)

{

fprintf(stdout,"%d",bitArr[i]);

}

fputc(' ',stdout);

#else/*方法二:使用递归*/

if(num==0)

{

fprintf(stdout,"0 ");

}

else

{

deciToBin(num);//调用第归函数

fputc(' ',stdout);

}

#endif

return0;

}

/*

*@函数名:deciToBin

*@函数功能:实现十进制转换为二进制

*@参数:需要转换的十进制整数

*/

voiddeciToBin(intnum)

{

/*第归结束条件*/

if(num==0)

{

return;

}

/*第归调用*/

deciToBin(num/2);

/*逆序打印*/

fprintf(stdout,"%d",num%2);

}

(1)c语言nr扩展阅读:

使用C语言编程实现任意进制数(2-16进制)转换为其他任意进制数(2-16进制)方法:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

intTenNum(chara[],intB);

voidNumchange(intm,intB);

intTenNum(chara[],intB)

{

intlen,i,num;

intsum=0;

len=strlen(a);

for(i=0;i<len;i++)

{

if(a[i]>='0'&&a[i]<='9')

num=a[i]-'0';

elseif(a[i]>='A'&&a[i]<='F')

num=a[i]-'A'+10;

sum=sum*B+num;

}

returnsum;

}

voidNumchange(intm,intB)

{

intn;

if(m)

{

Numchange(m/B,B);

n=m%B;

if(n<10)

printf("%d",n);

else

printf("%c",n+55);

}

}

intmain()

{

intB,b;

chara[20];

printf("请输入待转换数的进制(2-16):");

do{

scanf_s("%d",&B);

}while(B<2&&B>16);

printf("请输入待转换数:");

getchar();

gets_s(a);

intm=TenNum(a,B);

printf("请输入需要转成几进制数(2-16):");

do{

scanf_s("%d",&b);

}while(B<2&&B>16);

printf("%d进制数%s转换为%d进制数的结果为:",B,a,b);

Numchange(m,b);

printf(" ");

system("pause");

return0;

}

‘贰’ C语言如何动态分配二维数组

动态分配二维数组:

void main(int argc, char * argv[])

{

int NC=100, NR=200;

int i,j;

char **a; // a[NR][NC] -- *a[NR] -- a[j][i]

a = (char **) malloc(sizeof(char *) * NR);

for (j=0;j<NR;j++){

a[j] = (char *) malloc(sizeof(char) * NC);

}

// 释放空间: free(a);

编译错误是因为p[j]=(char *)malloc,而不是题目的(char *)malloc(n*sizeof(char))。

(2)c语言nr扩展阅读:

二维数组的动态分配

二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

按“列优先顺序”存储时,地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节。

‘叁’ 用C语言编写:输入半径R,求圆的周长、面积和球的体积。

#define PI 3.14

#include<stdio.h>

void main(void)

{ float r,l,s,v;

printf("please input r r=");

scanf("%f",&r);

l=2*PI*r;

s=PI*r*r;

v=4*PI*r*r/3;

printf("the result :");

printf(" l=%f s=%f v=%f",l,s,v);

getchar();

}

(3)c语言nr扩展阅读:

实例操作

// 设圆半径r = 1.5,圆柱高h = 3

// 要求:用scanf输入数据,取小数点后两位

#include <stdio.h>

int main()

{

float r,h;

float c,s,sq,vq,vz;

float pai = 3.1415926;

printf("请输入圆半径:");

scanf("%f",&r);

printf("请输入圆柱高:");

scanf("%f",&h);

c = 2 * pai * r;

s = pai * r * r;

sq = 4 * pai * r * r;

vq = ( 4 / 3 ) * pai * r * r * r;

vz = s * h;

printf("圆周长是:%4.2f ",c);

printf("圆面积是:%4.2f ",s);

printf("圆球表面积是:%4.2f ",sq);

printf("圆球体积是:%4.2f ",vq);

printf("圆柱体积是:%4.2f ",vz);

return 0;

}

‘肆’ C语言,语句 float **a 是什么意思

这是声明,声明 a 是变量,它 是指向 “浮点型 指针” 的 一个“指针”。
它不是二维数组。

要变2位数组,要做以下动态分配
int NC=5, NR=3; // 假定 5 列 3 行
int i,j;
float **a;
a = (float **) malloc(sizeof(float *) * NR);
for (j=0;j<NR;j++){
a[j] = (float *) malloc(sizeof(float) * NC);
}
接下来 可用 a[j][i] 了:
for (j=0;j<NR;j++)
for (i=0;i<NC;i++) {
a[j][i] = (j+1)*100.0 + i;
}
for (j=0;j<NR;j++){
for (i=0;i<NC;i++) printf("%g ",a[j][i]);
printf("\n");
}

热点内容
云访问安全 发布:2025-05-17 18:36:31 浏览:625
算法设计与分析课件 发布:2025-05-17 18:21:11 浏览:766
安卓禁止软件安装怎么解除 发布:2025-05-17 18:16:52 浏览:219
绝地求生极客电脑怎么配置 发布:2025-05-17 18:16:50 浏览:51
显卡编程语言 发布:2025-05-17 18:11:46 浏览:919
编程用什么轴机械键盘 发布:2025-05-17 18:10:35 浏览:960
金融工程编程 发布:2025-05-17 18:10:33 浏览:224
私密模式访问 发布:2025-05-17 18:09:44 浏览:788
数据库崩溃原因 发布:2025-05-17 18:09:42 浏览:307
对虾养殖增氧机如何配置 发布:2025-05-17 18:08:20 浏览:443