c语言中convert怎么用(c语言中convert函数)
C语言程序:将0—65535之间的整数转换为16进制,要求用convert函数,急求!
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
rzs(long int *w,long int j);
szr(long int *w,long int d);
main()
{
long int a,b,c,x,y;
char e[50];
while(1)
{
do
{
printf("输入转换的原进制数:");
scanf("%ld",b);
fflush(stdin);
}while(b!=2b!=8b!=16b!=10);
do
{
printf("输入转换之后的进制数:");
scanf("%ld",c);
fflush(stdin);
}while(c!=2c!=8c!=16c!=10);
if(b==10c==16)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
printf("%x\n",a);
}
else if(b==16c==10)
{
printf("输入要进行转换的数字:");
scanf("%x",a);
printf("%ld\n",a);
}
else if((b==2||b==8)c==10)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
rzs(a,b);
printf("%ld\n",a);
}
else if(b==10c==8)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
szr(a,c);
printf("%ld\n",a);
}
else if(b==2c==8||c==2b==8)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
rzs(a,b);
x=a;
szr(x,c);
printf("%ld\n",x);
}
else if((b==2||b==8)c==16)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
rzs(a,b);
printf("%x\n",a);
}
else if(b==16(c==8||c==2))
{
printf("输入要进行转换的数字:");
scanf("%x",a);
itoa(a,e,2);
printf("%s\n",e);
}
else if(b==10c==2)
{
printf("输入要进行转换的数字:");
scanf("%ld",a);
itoa(a,e,2);
printf("%s\n",e);
}
}
}
rzs(long int *w,long int j)
{
long int k=0,b=0,a[32],f[32],i,c,d=10,e=1;
k=*w;
for(c=0;c32;c++)
{
if(k/e%d==0)
{
a[c]=0;
e=e*10;
}
else
{
a[c]=k/e%d;
e=e*10;
}
}
for(i=0;i32;i++)
{
f[i]=pow(j,i);
}
c=0,i=0;
while(c32||i32)
{
b=b+a[c++]*f[i++];
}
*w=b;
}
szr(long int *w,long int d)
{
long int a[1000],b=0,i,c=0,e=1,j=0;
b=*w;
for(i=0;;i++)
{
a[i]=b%d;
b=b/d;
c++;
if(b==0)
break;
}
i=c;
while(i0)
{
a[i]=a[i]*pow(10,i);
e=e/10;
i--;
}
for(i=0;ic;i++)
{
j+=a[i];
}
*w=j;
}
请问C语言中的convert是什么
这个是自定义函数吧。在C语言函数库中没有这个。我这里有个例子,使给定的一个二维数组(3*3)转置
/* 函数功能: 对任意row行col列的矩阵转置函数入口参数: 指向一维整型数组的指针变量a,指向单元存放转置前的矩阵元素 整型变量row,矩阵的行数即二维整型数组的行数 整型变量col,矩阵的列数即二维整型数组的列数函数出口参数: 指向一维整型数组的指针变量at,指向单元存放转置后的矩阵元素 函数返回值: 无*/void convert(int (*a)[COL], int (*at)[ROW], int row, int col){ int i, j; for (i=0; irow; i++) { for (j=0; jcol; j++) { *(*(at+j)+i) = *(*(a+i)+j); } }}
C语言 字符串反转函数(不使用库函数)
char *revstr(char *str, size_t len)
{
char *start = str;
char *end = str + len - 1;
char ch;
if (str != NULL)
{
while (start end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
}
return str;
}
c语言用convert函数求矩阵的转置
参考代码如下:
#includestdio.h
int A[10][10]={0};
void convert(int a[][10], int *m, int *n)
{
int i,j,t;
for(i=0;i*m;++i)
for(j=i;j*n;++j){
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
t=*m;
*m=*n;
*n=t;
}
int main()
{
int i,j,m,n;
scanf("%d%d",m,n);
if(m10||n10)
return 0;
for(i=0;im;++i)
for(j=0;jn;++j)
scanf("%d",A[i][j]);
convert(A,m,n);
for(i=0;im;++i){
for(j=0;jn;++j)
printf("%d ",A[i][j]);
printf("\n");
}
return 0;
}
C语言编程
void?convert(char*?p){
????while(*p!='\0'){
????????if(*p?==?'A')
????????????*p?=?'8';
????????else?if(*p?==?'C')
????????????*p?=?'9';
????????p++;
????}
}
void?main(){
????char?s[1024];
????gets(s);
????convert(s);
????printf("%s\n",s);
}
纯手打,求采纳!
这段C语言函数怎么理解
convert函数的作用是将一个整数倒序输出。思路如下:n%10可以知道最后一位数字,n%10+'0'将整数转化为字符;k=n/10相当于去掉了最后一个数字,然后继续递归调用函数本身,一直到最高位也被输出。
那么主程序运行的结果是:1234倒序输出是4321