C语言编程:从键盘上输入一个十进制数,将其转换成八进制数,然后输出。

作者&投稿:空筠 (若有异议请与网页底部的电邮联系)
C语言编程题:从键盘上输入一个十进制然后转换为八进制~

最简单的是:scanf("%d",&a); printf("十进制%d转换为八进制为%o
",a,a);
自己编程序转换:
void Convert(int a,int n) { if ( a ) { Convert(a/n,n); printf("%d",a%n); } }void main(){ int a; scanf("%d",&a); printf("十进制%d转换为八进制为",a); Convert(a,8); printf("
");}

个人意见,仅供参考!
1.
//用转意字符
⑴这是输出有前缀“0”的八进制数
int
main(void)
{
int
a;
printf("
");
scanf("%d",&a);
printf("%#o",a);
/*"%#o"这里的“#”就是输出前缀的,“o”是八进制*/
getch();
return
0;
}
⑵输出无前缀的八进制数
main()
{
int
a;
printf("
");
scanf("%d",&a);
printf("%o",a);
/*不要在o前加“#”*/
}
——————————————————————————————
2.
//用数据结构的知识解决
int
*Init()
{
int
*top,*base;
base=(int
*)malloc(sizeof(int)
*
50);
if(!base)
{printf("Error!");exit();}
top=base;
return
top;
}
int
*push(int
*top,int
n)
{
*top=n;
top++;
return
top;
}
int
pop(int
*top)
{
int
e;
top--;
e=*top;
return
e;
}
void
convs()
{
int
*top,
*base;
int
e,N;
int
i;
top=Init();
base=top;
printf("Input
the
number:
");
scanf("%d",&N);
while(N!=0)
{
top=push(top,N%8);
N=N/8;
}
printf("After
change,the
number
is:
");
while(top!=base)
{
e=pop(top);
top--;
printf("%d",e);
}
printf("
");
}
main()
{
convs();
getch();
}

非递归算法:
#include <iostream>
using namespace std;
#include <math.h>
#define MAXSIZE 20
typedef struct Stack
{
char node[MAXSIZE];
int top;
}Stack;

int main()
{

Stack s;
s.top=-1;
int n;
cout<<"请输入十进制数:"<<endl;
cin>>n;
int m;
cout<<"请输入要转化的进制数:"<<endl;
cin>>m;
int q=n;
while(n!=0)
{
q=n%m;
n=n/m;
s.top++;
if(q<10)
s.node[s.top]=q+48;
else
s.node[s.top]=(q-9)+64;
}
while(s.top>=0)
{
cout<<s.node[s.top--];
}

return 0;
}

递归算法:(未采用数组存储)
#include <iostream>
using namespace std;

#define N 8
void print(int M);
int main()
{
print(100);

return 0;
}
void print(int M)
{
int n=M%N;
M=M/N;
if(M!=0)
print(M);
cout<<n;
}

#include<stdio.h>
#define LENGTH 100
#define NUMBER 8
int scan()
{
int data;
printf("Input your data :");
scanf("%d",&data);
return data;
}
void display(char array[],int index)
{

for(int j=index-1; j>=0; j--)
{
printf("%d",array[j]);
}
printf("\n");
}
void conversion(int data)
{
char array[LENGTH];
int i=0;
printf("%d 转换成八进制后为:", data);
while(data){

array[i++]=(char)(data%8);
data /= NUMBER;
}
display(array, i);
}
int main()
{
conversion(scan());
return 1;
}

不会吧!
printf("%o",a[i]);


C语言编程:从键盘任意输入三个数,编写求其最大值、最小值的函数,用指针...
程序如下:#include<stdio.h>#define MAXSIZE 10main(){int a[MAXSIZE];int k;printf("please inter ten number:");for(k=0;k<MAXSIZE;k++){ scanf("%d",&a[k]);} Fun(a);for(k=0;k<MAXSIZE;k++)printf("%d,",a[k]);} void Fun(int a[]){ int i;int temp;int MaxNu...

C语言编程:从键盘上输入一个十进制数,将其转换成八进制数,然后输出...
using namespace std;include <math.h> define MAXSIZE 20 typedef struct Stack { char node[MAXSIZE];int top;}Stack;int main(){ Stack s;s.top=-1;int n;cout<<"请输入十进制数:"<<endl;cin>>n;int m;cout<<"请输入要转化的进制数:"<<endl;cin>>m;int q=n;while(n!=0)...

用C语言编写从键盘上任意输入10整数,要求按从小到大的顺序在屏幕上显示...
include "stdio.h"int main(){ int a[10],i,j,q;printf("input ten num:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){ q=a[i];a[i]=a[j];a[j]=q;} for(i=0;i<10;i++)printf("%d",a[i]);ge...

8、编程实现:从键盘上输入10个整数,对10个整数进行冒泡排序(要求排成...
include <stdio.h> void main(){ int i,j;float a[10],t;printf("请输入十个数字");for(i=0;i<10;i++){ scanf("%f",&a[i]);} for(j=0;j<10;j++){ for(i=0;i<10-1;i++){ if(a[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;} } } for(i=0;i<...

用C语言编写一个程序,从键盘上输入一个小写字母,将其本身及对应的大写字...
prinft("大写字母是:%c\\n",ch);} else(printf("请输入大写字母");)示例三:include <stdio.h> main(){ char c; \/\/声明变量 scanf("%c",&c); \/\/键盘上取值 printf("%c %c",c,ch-'a'+'A');\/\/本身和大写输出 } ...

c语言编程 从键盘中输入一个偶数,编程实现将该偶数拆分成两个素数之...
include<stdio.h> int isprime(int n){ int i;for(i=2;i<=n\/2;i++)if(n%i==0)return 0;return 1;} void main(){ int n,i;scanf("%d",&n);for(i=2;i<n\/2;i++)if(isprime(i) && isprime(n-i))printf("%d %d\\n",i,n-i);} ...

C语言编程,从键盘上输入n(n<=20)个整数存入一维数组
include<stdio.h> void negasort(int *array,int n);\/\/逆序存放函数 int main(){ int arry[20];int n;printf("请输入数组元素个数:");scanf("%d",&n);printf("请输入数组元素:");for(int i=0;i<n;i++)scanf("%d",arry+i);negasort(arry,n);\/\/调用逆序存放函数 for(int j=...

用c语言编程:键盘上输入N个整数,使该数组中的数按照从小到大的次序排列...
int a[N],i,j,k;printf("Please enter %d integer(s)...\\n",N);for(i=0;i<N;scanf("%d",a+i++));\/\/输入 for(i=0;i<N;i++){\/\/选择法排序 for(k=i,j=k+1;j<N;j++)if(a[k]>a[j])k=j;if(k!=i)j=a[k],a[k]=a[i],a[i]=j;printf("%d ",a[i]);...

C语言题目描述: 从键盘上输入一个小写字母,然后将小写字母装换成大写...
可以参考下面的代码:include <stdio.h> void main(){ char ch;scanf("%c",&ch);if(ch>='A'&&ch<='Z'){ ch=ch+32;printf("%c\\n\\n",ch);}else{ printf("%c\\n\\n",ch);} }

c 语言 编程题 从键盘上依次输入一批数据 输出最大值和最小值 并统计...
include <string.h> include <math.h> define MAX(a, b) (a > b ? a : b)define MIN(a, b) (a < b ? a : b)define POSITIVE(a) (a > 0 ? 1 : 0)define NEGTIVE(a) (a < 0 ? 1 : 0)int main(){ printf("Input:\\n");int max_size = 128; \/\/ max size, ...

广汉市17733147504: C语言编程:从键盘上输入一个十进制数,将其转换成八进制数,然后输出. -
兀有娇二乙: 非递归算法: #include <iostream> using namespace std; #include <math.h> #define MAXSIZE 20 typedef struct Stack {char node[MAXSIZE];int top; }Stack;int main() {Stack s;s.top=-1;int n;cout<<"请输入十进制数:"<<endl;cin>>n;int ...

广汉市17733147504: C语言编写一个程序,是其完成如下功能:从键盘上输入一个十进制的数,用除2法将其转换成二进制数并输出. -
兀有娇二乙: #include "stdio.h" #include "stdlib.h" main() { int n,x=0,a[100]; printf("请输入转换的数和进制:\n"); scanf("%d",&n);while(n){ a[x++]=n%2; n/=2; } --x; while(x>=0) printf("%d",a[x--]); printf("\n"); system("pause"); } 再送你一个...

广汉市17733147504: 求高手写C语言程序代码:"从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数." -
兀有娇二乙: #includevoid ex10to2(); void ex10to8(); void ex10to16(); void main() { int select; do { printf("\n 0、退出 1、十进制~二进制 2、十进制~八进制 3、十进制~十六进制\n"); printf("请选择功能:"); scanf("%d",&select); if(select == 0) break; ...

广汉市17733147504: c语言编程题:从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出. -
兀有娇二乙: #includevoid showbit(int n) { if(n>1){ showbit(n/2); printf(" "); } printf("%d",n%2); } void showoct(int n) { if(n>7){ showoct(n/8); printf(" "); } printf("%d",n%8); } void showhex(int n) { if(n>15){ showhex(n/16); printf(" "); } printf("%d",n%16); ...

广汉市17733147504: C语言从键盘上输入一个十进制整数,求该整数的每一位数字之和. -
兀有娇二乙: int a=234567890; int sum=0; for(int i=0;i<9;i++) { sum+=a%10; a/=10; }

广汉市17733147504: C语言编程题:从键盘上输入一个十进制然后转换为八进制 -
兀有娇二乙: 最简单的是:scanf("%d",&a); printf("十进制%d转换为八进制为%o\n",a,a); 自己编程序转换:void Convert(int a,int n) { if ( a ) { Convert(a/n,n); printf("%d",a%n); } } void main() { int a; scanf("%d",&a); printf("十进制%d转换为八进制为",a);Convert(a,8); printf("\n"); }

广汉市17733147504: 用C语言表示从键盘输入一个十进制整数,如果大于60,则在屏幕上输出“成功”,否则在屏幕上输出“失败”. -
兀有娇二乙: #include "stdio.h" main() { int n; printf("输入一个十进制整数:\n"); scanf("%d",&n); if(n>60) printf("成功!"); else printf("失败!");}

广汉市17733147504: C语言编程实现:从键盘输入一个十进制整数,输出相应的二进制、十六进制. -
兀有娇二乙: #include<stdio.h> void showbit(int n) { if(n>1){ showbit(n/2); printf(" "); } printf("%d",n%2); } void showoct(int n) { if(n>7){ showoct(n/8); printf(" "); } printf("%d",n%8); } void showhex(int n) { if(n>15){ showhex(n/16); printf(" "); } printf("%d...

广汉市17733147504: 从键盘输入一个十进制数,将其转换成等值的二进制数 C语言程序怎么写?
兀有娇二乙: #include"stdio.h" main() {int i,a[5],max,min,ave=0;<br/><br/>for(i=0;i<5;i++)<br/>scanf("%d",&a[i]);<br/>max=a[0];<br/>min=a[0];<br/>for(i=0;i<5;i++)<br/>{max=max>a[i]? max:a[i];<br/>min=min<a[i]? min:a[i];<br/>ave+=a[i];<br/>} ave=(ave-max-min)/3; printf("%d\n",ave); }

广汉市17733147504: 用C语言编程"输入一个十进制整数,打印输出对应的八进制数和十六进制数." -
兀有娇二乙: #include "Stdio.h" #include "Conio.h" main() { int a;scanf("%d",&a);printf("%x,%o",a,a);getch();} %x 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网