求高手写C语言程序代码:"从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数。"

Python022

求高手写C语言程序代码:"从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数。",第1张

#include<stdio.h>

//转换为2进制

void showbit(int n)

{

if(n>1){

showbit(n/2)

printf(" ")

}

printf("%d",n%2)

}

//转换为8进制

void showoct(int n)

{

if(n>7){

showoct(n/8)

printf(" ")

}

printf("%d",n%8)

}

//转换为16进制

void showhex1(int n)

{

switch(n)

{

case 10: putchar('A')break

case 11: putchar('B')break

case 12: putchar('C')break

case 13: putchar('D')break

case 14: putchar('E')break

case 15: putchar('F')break

default: printf("%d",n)

}

}

void showhex(int n)

{

if(n>15){

showhex(n/16)

showhex1(n%16)

}

else

showhex1(n%16)

}

main()

{

int a

printf("input a num:")

scanf("%d",&a)

printf("二进制: ")

showbit(a)

printf("\n")

printf("八进制: ")

showoct(a)

printf("\n")

printf("十六进制: ")

showhex(a)

printf("\n")

}

#include<stdio.h>

#include<stdlib.h>

#define N 5

struct student

{ int num

char name[20]

int M,E,L,C,P

int average

int fail

}

void save(struct student *p)

{ int i

FILE *fp

if((fp=fopen("student.text","w"))==NULL)

{

printf("Cannot open file!\n")

return

}

for(i=0i<Ni++)

{fwrite(p,sizeof(struct student),1,fp)

p++

}

free(fp)

}

void average(struct student* p)

{ int i

for(i=0i<Ni++,p++)

p->average=(p->M+p->E+p->L+p->C+p->P)/5

}

void fail(struct student* p)

{ int i

for(i=0i<Ni++,p++)

{ p->fail=0

if(p->M<60||p->E<60||p->L<60||p->C<60||p->P<60)

p->fail=1

}

}

void excelent(struct student *p)

{ int i,k,t

for(i=0i<Ni++)

{

for(k=ik<Nk++)

if(((p+i)->average)<((p+k)->average))

{

t=(p+i)->average

(p+i)->average=(p+k)->average

(p+k)->average=t

}

}

}

int main()

{ struct student stu[N]

int i,j

printf("请输入5个同学的数据\n")

for(i=0i<Ni++)

{

scanf("%d%s%d%d%d%d%d",&stu[i].num,stu[i].name,&stu[i].M,&stu[i].E,&stu[i].L,&stu[i].C,&stu[i].P)

printf("\nnext \n")

}

average(stu)

printf(" 学号姓名数学英语 语文 C物理平 均\n")

for(i=0i<Ni++)

printf("%4d%8s%8d%8d%8d%8d%8d%8d\n",stu[i].num,stu[i].name,stu[i].M,stu[i].E,stu[i].L,stu[i].C,stu[i].P,stu[i].average)

fail(stu)

save(stu)

printf("有不及格科目的同学有:\n num name \n")

for(i=0i<Ni++)

{

if(stu[i].fail)

printf("%4d %s\n",stu[i].num,stu[i].name)

}

FILE *fp

if((fp=fopen("student.text","rb"))==NULL)

{

printf("Cannot open file!\n")

exit(0)

}

fread(&stu[i],sizeof(struct student),1,fp)

printf(" 学号姓名数学英语 语文 C物理平 均\n")

for(i=0i<Ni++)

printf("%4d%8s%8d%8d%8d%8d%8d%8d\n",stu[i].num,stu[i].name,stu[i].M,stu[i].E,stu[i].L,stu[i].C,stu[i].P,stu[i].average)

excelent(stu)

printf("经过安平均分排序后的成绩为:\n 学号姓名数学英语 语文 C物理平 均\n")

for(i=0i<Ni++)

printf("%4d%8s%8d%8d%8d%8d%8d%8d\n",stu[i].num,stu[i].name,stu[i].M,stu[i].E,stu[i].L,stu[i].C,stu[i].P,stu[i].average)

free(fp)

return 0

}

绝对自己编的。没有功劳也有苦劳!

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

void pic(int n)

{

switch(n)

{

case 1

printf("●")

break

case 2:

printf("●●")

break

case 3

printf("●●●")

break

case 4:

printf("●●●●")

break

case 5

printf("●●●●●")

break

case 6:

printf("●●●●●●")

break

}

}

void play()

{

int num1,num2,num3,num4

srand((unsigned)time(0))

num1=rand()%6+1

num2=rand()%6+1

num3=rand()%6+1

num4=rand()%6+1

pic(num1)

pic(num2)

pic(num3)

pic(num4)

}

void main()

{

play()

}