求解一道简单的C语言题

编一个程序,输入一个十进制数,输出相应的十六进制数
或者输入二进制输出八进制……总之就是这一类的题怎么做啦~~

第1个回答  2010-07-06
一:输入十进制,输出八、十、十六进制。

#include <stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
printf("八进制:%o\n", n);
printf("十进制:%d\n", n);
printf("十六进制:%x\n", n);
return 0;
}

例子:
16
八进制:20
十进制:16
十六进制:10
Press any key to continue

二:输入二进制,输出八、十、十六进制

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char string[128];
long n;
scanf("%s", string);
n = strtol(string, NULL, 2);
printf("八进制:%o\n", n);
printf("十进制:%d\n", n);
printf("十六进制:%x\n", n);
return 0;
}

例子:

00010000
八进制:20
十进制:16
十六进制:10
Press any key to continue本回答被提问者采纳
第2个回答  2010-07-05
先用scanf("%d",a)输入a为十进制
再用printf("&x",a)输出,%x为十六进制,%o为八进制
第3个回答  2010-07-06
#include "stdio.h"
main()
{int num;
printf("Input a number please:\n");
scanf("%d",&num);
printf("The num in 16 type is %h",num);
}
第4个回答  2010-07-06
/*
name : deny
date : 2010/4/2
function : exchange the number you want change
*/
#include <stdio.h>
void Binary_date (int num,int change_num); /*function prototype of Binary_date(int,int)*/
void Binary_exchange (int number,int x);

int main (void)
{
int li_number;
int li_change_num;

printf("please enter a number you want to exchange and enter a change numebr(q to quit):");
while (scanf("%d%d",&li_number,&li_change_num))
{
while (getchar () != '\n');
printf("the number %d is :",li_number);
Binary_date (li_number,li_change_num); /*call the function of Binary_date (int,int)*/
printf("\n");
printf("please enter a number you want to exchange and enter a change numebr(q to quit):");
}

return 0;
}

void Binary_date (int num,int change_num) /*the function of changing the number to binary,octal,hexdecimal number*/
{
int li_temp,li_changed;

li_temp = num / change_num; /*calcualte the diviece*/
li_changed = num % change_num + '0'; /*calculate the mode*/

if(li_temp >= 1)
Binary_date (li_temp,change_num); /*return to call the "himeself"*/

if (li_changed > '9') /*if the changed number beyond character '9',change it to 'A','B','C'....*/
li_changed += 7;

printf("%c",li_changed); /*printting the character*/
}

/*exchange the decimal number*/

void Binary_exchange (int number,int x)

{

SeqStack ls_temp;

int li_temp = number,r;

int i;

InitSeqStack (&ls_temp);

while (li_temp > 0)

{

r = li_temp%x + '0';

if (r >'9')

r += 7; /*ASCII's exchange*/

Push (&ls_temp,r);

li_temp /= x;

}

i = ls_temp.top;

printf("number %d is : ",number);

while (i >= 0)

printf("%c",ls_temp.num[i--]); /*move the index,and printing the date*/

putchar (10);

}

一个函数是基于递归写的,一个是基于栈调用写的,不知道能否帮到你
第5个回答  2020-06-10
#include<stdio.h>
int
main()
{
long
i,j,k;
k=10;
for
(i=1;i<=99;i++)
{
if
(i==k)
k*=10;
j=i*i;
if(j%k==i)
printf("%ld\t%ld\n",i,j);
}
}

求解C语言基础题。
一、平台:数组中连续相等的元素就是一个平台。二、最长平台:就是在所有平台中找出最长的那个。三、方法不止一种,从完整程序思路,至少包含一个实现功能的函数及打印输出的函数。下面是我写的演示代码:遍历数组,找出最长平台,返回其在数组中起点和终点位置(返回值是指针数组)。异常直接抛出自行处理。

c语言题目求解
答案是A。分析 :1 开始p=1,1%3为真,执行p++后p=2,执行++p后p=3,然后输出3。接着执行for循环中的p++,结果是p=4。因p=4,p<=10为真,继续循环。2 p=4,4%3为真,执行p++后p=5,执行++p后p=6,然后输出6。接着执行for循环中的p++,结果是p=7。因p=7,p<=10为真,继续...

C语言求解
假设 a是醋瓶,b油瓶,c是空瓶 c=a;注释: a中的醋放入c瓶,a瓶变成空瓶;a=b; b中的醋放入a瓶,b瓶变成空瓶;b=c; c中的醋放入b瓶,c瓶变成空瓶;这样就将a和b互换了。理解了这个数据结构了吗?理解了,代码就不用我写了吧?include <stdio.h> main( ) \/ *主函数* \/ { int a...

一道简单的C语言编程,遇到些麻烦,求解。
int a,b,c,d,e,f; 定义为int scanf("%f,%f,%f,%f\\n",&a,&b,&c,&d); 输入为float 应该是类型不匹配造成的,将int 改为float试试

C语言编程问题,初学者,麻烦简单点,可以看懂的,谢谢(*°∀°)=3?_百...
首先分两种情况:一、a为0,bx+c=0,求得一解。二、a不为0,按照一元二次方程公式:当判别式b^2-4ac,>0则两个解,=0则一个解,<0则无解。最后,代入公式求解。函数参数:a,b,c及存放结果的数组x。返回解的个数。下面是代码:include <stdio.h> include <math.h> int fun(double a...

求解c语言问题
形式一:就是从1开始自增,自增次数是二维元素个数。形式二:[a,b],其中a表示行数,b表示列数。形式三:[a,b],其中a与行数有关,b与列数有关。在循环中a初值取(行数\/2)并自减,b初值取(列数\/2*-1)并自增。代码实现方式很多。这里题目指定要二维数组,但没有指定是什么类型的二维...

c语言问题求解!!!谢谢!!!
问题一箩筐,还得歪着头看,挺佩服自己。根据你的问题一一做解答:1、a += a -= a*a ; \/\/这个语句的核心是要明白不同运算符的优先级,以及结合性。 +=,-= 是赋值运算符,优先级仅比‘,’高,是明显低于算术运算符‘*’的,而且赋值运算符的结合性是“从右往左”(也就是把右值赋给...

求解C语言基础题?
按照你的要求编写的求出现最长的数字和位置的C语言程序如下 include <stdio.h> int main(){ int a[]={1,1,2,2,2,3,3,3,3,5,5,6,6,6,6};int length=1,pos,i,j;for(i=1;i<sizeof(a)\/sizeof(a[0]);i++){ if(a[i]==a[i-length]){ length++;} } printf("长度为%d...

简单的C语言,求解,请写出详细过程
你好,a++和++a是自增运算,相当于a=a+1;a--和--a是自减运算,相当于a=a-1 “++a”或“--a”是先自增自减再参与计算;“a++”或“a--”是先参与计算再自增自减 所以,你这道题c=6*6*6=216(a在执行完该条语句才自增为7)...

C语言问题求解,在线等,急!!!
1、根据题意每天从区间1~N中,依次深度-1,遇到某个深度0时停止作业,所修改的区间就是当日作业区间。2、独立函数实现一天作业(workForDay)。参数flag为1显示作业过程,如不需要传0。3、init函数为输入并返回动态数组。include <stdio.h> include <malloc.h> int len=0;\/\/路面长度 int *init(...

相似回答