datachance在c语言的作用,一道c语言课程设计题,请高手来帮忙!

编程入门 行业动态 更新时间:2024-10-10 17:25:18

datachance在c<a href=https://www.elefans.com/category/jswz/34/1770116.html style=语言的作用,一道c语言课程设计题,请高手来帮忙!"/>

datachance在c语言的作用,一道c语言课程设计题,请高手来帮忙!

一道c语言课程设计题,请高手来帮忙!以下文字资料是由(历史新知网www.lishixinzhi)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

一道c语言课程设计题,请高手来帮忙!

不会有人做的,哈哈

C语言课程设计 高手来帮忙哦~!

4、输入十进制数转化为十六进制数输出

#include

#include

void trans(int n,int m)

{

if(n)

{

trans(n/m,m);

if(n%m<10)

printf("%c",n%m+'0');

else

printf("%c",n%m-10+'A');

}

}

void main()

{

int n,m=16;

printf("输入十进制数N:");

scanf("%d",&n);

printf("十进制数%d转化成%d进制后的结果为:",n,m);

trans(n,m);

printf("\n");

}

一道C语言课程设计题

用C简单编写通讯录源代码

/*10.3.2源程序*/

/******头文件(.h)***********/

#include "stdio.h" /*I/O函数*/

#include "stdlib.h" /*标准库函数*/

#include "string.h"/*字符串函数*/

#include "ctype.h" /*字符操作函数*/

#define M 50 /*定义常数表示记录数*/

typedef struct /*定义数据结构*/

{

char name[20]; /*姓名*/

char units[30]; /*单位*/

char tele[10]; /*电话*/

}ADDRESS;

/******以下是函数原型*******/

int enter(ADDRESS t[]); /*输入记录*/

void list(ADDRESS t[],int n); /*显示记录*/

void search(ADDRESS t[],int n); /*按姓名查找显示记录*/

int delete(ADDRESS t[],int n); /*删除记录*/

int add(ADDRESS t[],int n); /*插入记录*/

void save(ADDRESS t[],int n); /*记录保存为文件*/

int load(ADDRESS t[]); /*从文件中读记录*/

void display(ADDRESS t[]); /*按序号查找显示记录*/

void sort(ADDRESS t[],int n); /*按姓名排序*/

void qseek(ADDRESS t[],int n); /*快速查找记录*/

void copy(); /*文件复制*/

void print(ADDRESS temp); /*显示单条记录*/

int find(ADDRESS t[],int n,char *s) ; /*查找函数*/

int menu_select(); /*主菜单函数*/

/******主函数开始*******/

main()

{

int i;

ADDRESS adr[M]; /*定义结构体数组*/

int length; /*保存记录长度*/

clrscr(); /*清屏*/

for(;;)/*无限循环*/

{

switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/

{

case 0:length=enter(adr);break;/*输入记录*/

case 1:list(adr,length);break; /*显示全部记录*/

case 2:search(adr,length);break; /*查找记录*/

case 3:length=delete(adr,length);break; /*删除记录*/

case 4:length=add(adr,length); break; /*插入记录*/

case 5:save(adr,length);break; /*保存文件*/

case 6:length=load(adr); break; /*读文件*/

case 7:display(adr);break; /*按序号显示记录*/

case 8:sort(adr,length);break; /*按姓名排序*/

case 9:qseek(adr,length);break; /*快速查找记录*/

case 10:copy();break; /*复制文件*/

case 11:exit(0); /*如返回值为11则程序结束*/

}

}

}

/*菜单函数,函数返回值为整数,代表所选的菜单项*/

menu_select()

{

char s[80];

int c;

gotoxy(1,25);/*将光标定为在第25行,第1列*/

printf("press any key enter menu......\n");/*提示压任意键继续*/

getch(); /*读入任意字符*/

clrscr(); /*清屏*/

gotoxy(1,1);

printf("********************MENU*********************\n\n");

printf(" 0. Enter record\n");

printf(" 1. List the file\n");

printf(" 2. Search record on name\n");

printf(" 3. Delete a record\n");

printf(" 4. add record \n");

printf(" 5. Save the file\n");

printf(" 6. Load the file\n");

printf(" 7. display record on order\n");

printf(" 8. sort to make new file\n");

printf(" 9. Quick seek record\n");

printf(" 10. copy the file to new file\n");

printf(" 11. Quit\n");

printf("***********************************************\n");

do{

printf("\n Enter you choice(0~11):"); /*提示输入选项*/

scanf("%s",s); /*输入选择项*/

c=atoi(s); /*将输入的字符串转化为整型数*/

}while(c<0||c>11); /*选择项不在0~11之间重输*/

return c; /*返回选择项,主程序根据该数调用相应的函数*/

}

/***输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/

int enter(ADDRESS t[])

{

int i,n;

char *s;

clrscr(); /*清屏*/

printf("\nplease input num \n"); /*提示信息*/

scanf("%d",&n); /*输入记录数*/

printf("please input record \n"); /*提示输入记录*/

printf("name unit telephone\n");

printf("------------------------------------------------\n");

for(i=0;i

{

scanf("%s%s%s",t[i].name,t[i].units,t[i].tele); /*输入记录*/

printf("----------------------------------------------\n");

}

return n; /*返回记录条数*/

}

/*显示记录,参数为记录数组和记录条数*/

void list(ADDRESS t[],int n)

{

int i;

clrscr();

printf("\n\n*******************ADDRESS******************\n");

printf("name unit telephone\n");

printf("------------------------------------------------\n");

for(i=0;i

printf("%-20s%-30s%-10s\n",t[i].name,t[i].units,t[i].tele);

if((i+1)%10==0) /*判断输出是否达到10条记录*/

{

printf("Press any key continue...\n"); /*提示信息*/

getch(); /*压任意键继续*/

}

printf("************************end*******************\n");

}

/*查找记录*/

void search(ADDRESS t[],int n)

{

char s[20]; /*保存待查找姓名字符串*/

int i; /*保存查找到结点的序号*/

clrscr(); /*清屏*/

printf("please search name\n");

scanf("%s",s); /*输入待查找姓名*/

i=find(t,n,s); /*调用find函数,得到一个整数*/

if(i>n-1) /*如果整数i值大于n-1,说明没找到*/

printf("not found\n");

else

print(t[i]); /*找到,调用显示函数显示记录*/

}

/*显示指定的一条记录*/

void print(ADDRESS temp)

{

clrscr();

printf("\n\n********************************************\n");

printf("name unit telephone\n");

printf("------------------------------------------------\n");

printf("%-20s%-30s%-10s\n",temp.name,temp.units,temp.tele);

printf("**********************end***********************\n");

}

/*查找函数,参数为记录数组和记录条数以及姓名s */

int find(ADDRESS t[],int n,char *s)

{

int i;

for(i=0;i

{

if(strcmp(s,t[i].name)==0) /*记录中的姓名和待比较的姓名是否相等*/

return i; /*相等,则返回该记录的下标号,程序提前结结束*/

}

return i; /*返回i值*/

}

/*删除函数,参数为记录数组和记录条数*/

int delete(ADDRESS t[],int n)

{

char s[20]; /*要删除记录的姓名*/

int ch=0;

int i,j;

printf("please deleted name\n"); /*提示信息*/

scanf("%s",s);/*输入姓名*/

i=find(t,n,s); /*调用find函数*/

if(i>n-1) /*如果i>n-1超过了数组的长度*/

printf("no found not deleted\n"); /*显示没找到要删除的记录*/

else

{

print(t[i]); /*调用输出函数显示该条记录信息*/

printf("Are you sure delete it(1/0)\n"); /*确认是否要删除*/

scanf("%d",&ch); /*输入一个整数0或1*/

if(ch==1) /*如果确认删除整数为1*/

{

for(j=i+1;j

{

strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/

strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/

strcpy(t[j-1].tele,t[j].tele); /*将后一条记录的电话拷贝到前一条*/

}

n--; /*记录数减1*/

}

}

return n; /*返回记录数*/

}

/*插入记录函数,参数为结构体数组和记录数*/

int add(ADDRESS t[],int n)/*插入函数,参数为结构体数组和记录数*/

{

ADDRESS temp; /*新插入记录信息*/

int i,j;

char s[20]; /*确定插入在哪个记录之前*/

printf("please input record\n");

printf("************************************************\n");

printf("name unit telephone\n");

printf("--------------------------------------------------\n");

scanf("%s%s%s",temp.name,temp.units,temp.tele); /*输入插入信息*/

printf("------------------------------------------------\n");

printf("please input locate name \n");

scanf("%s",s); /*输入插入位置的姓名*/

i=find(t,n,s); /*调用find,确定插入位置*/

for(j=n-1;j>=i;j--) /*从最后一个结点开始向后移动一条*/

{

strcpy(t[j+1].name,t[j].name); /*当前记录的姓名拷贝到后一条*/

strcpy(t[j+1].units,t[j].units); /*当前记录的单位拷贝到后一条*/

strcpy(t[j+1].tele,t[j].tele); /*当前记录的电话拷贝到后一条*/

}

strcpy(t[i].name,temp.name); /*将新插入记录的姓名拷贝到第i个位置*/

strcpy(t[i].units,temp.units); /*将新插入记录的单位拷贝到第i个位置*/

strcpy(t[i].tele,temp.tele); /*将新插入记录的电话拷贝到第i个位置*/

n++; /*记录数加1*/

return n; /*返回记录数*/

}

/*保存函数,参数为结构体数组和记录数*/

void save(ADDRESS t[],int n)

{

int i;

FILE *fp; /*指向文件的指针*/

if((fp=fopen("record.txt","wb"))==NULL) /*打开文件,并判断打开是否正常*/

{

printf("can not open file\n");/*没打开*/

exit(1); /*退出*/

}

printf("\nSaving file\n"); /*输出提示信息*/

fprintf(fp,"%d",n); /*将记录数写入文件*/

fprintf(fp,"\r\n"); /*将换行符号写入文件*/

for(i=0;i

{

fprintf(fp,"%-20s%-30s%-10s",t[i].name,t[i].units,t[i].tele);/*格式写入记录*/

fprintf(fp,"\r\n"); /*将换行符号写入文件*/

}

fclose(fp);/*关闭文件*/

printf("****save suess***\n"); /*显示保存成功*/

}

/*读入函数,参数为结构体数组*/

int load(ADDRESS t[])

{

int i,n;

FILE *fp; /*指向文件的指针*/

if((fp=fopen("record.txt","rb"))==NULL)/*打开文件*/

{

printf("can not open file\n"); /*不能打开*/

exit(1); /*退出*/

}

fscanf(fp,"%d",&n); /*读入记录数*/

for(i=0;i

fscanf(fp,"%20s%30s%10s",t[i].name,t[i].units,t[i].tele); /*按格式读入记录*/

fclose(fp); /*关闭文件*/

printf("You have suess read data from file!!!\n"); /*显示保存成功*/

return n; /*返回记录数*/

}

/*按序号显示记录函数*/

void display(ADDRESS t[])

{

int id,n;

FILE *fp; /*指向文件的指针*/

if((fp=fopen("record.txt","rb"))==NULL) /*打开文件*/

{

printf("can not open file\n"); /*不能打开文件*/

exit(1); /*退出*/

}

printf("Enter order number...\n"); /*显示信息*/

scanf("%d",&id); /*输入序号*/

fscanf(fp,"%d",&n); /*从文件读入记录数*/

if(id>=0&&id

{

fseek(fp,(id-1)*sizeof(ADDRESS),1); /*移动文件指针到该记录位置*/

print(t[id]); /*调用输出函数显示该记录*/

printf("\r\n");

}

else

printf("no %d number record!!!\n ",id); /*如果序号不合理显示信息*/

fclose(fp); /*关闭文件*/

}

/*排序函数,参数为结构体数组和记录数*/

void sort(ADDRESS t[],int n)

{

int i,j,flag;

ADDRESS temp; /*临时变量做交换数据用*/

for(i=0;i

{

flag=0; /*设标志判断是否发生过交换*/

for(j=0;j

if((strcmp(t[j].name,t[j+1].name))>0) /*比较大小*/

{

flag=1;

strcpy(temp.name,t[j].name); /*交换记录*/

strcpy(temp.units,t[j].units);

strcpy(temp.tele,t[j].tele);

strcpy(t[j].name,t[j+1].name);

strcpy(t[j].units,t[j+1].units);

strcpy(t[j].tele,t[j+1].tele);

strcpy(t[j+1].name,temp.name);

strcpy(t[j+1].units,temp.units);

strcpy(t[j+1].tele,temp.tele);

}

if(flag==0)break; /*如果标志为0,说明没有发生过交换循环结束*/

}

printf("sort sucess!!!\n"); /*显示排序成功*/

}

/*快速查找,参数为结构体数组和记录数*/

void qseek(ADDRESS t[],int n)

{

char s[20];

int l,r,m;

printf("\nPlease sort before qseek!\n"); /*提示确认在查找之前,记录是否已排序*/

printf("please enter name for qseek\n"); /*提示输入*/

scanf("%s",s); /*输入待查找的姓名*/

l=0;r=n-1; /*设置左边界与右边界的初值*/

while(l<=r) /*当左边界<=右边界时*/

{

m=(l+r)/2; /*计算中间位置*/

if(strcmp(t[m].name,s)==0) /*与中间结点姓名字段做比较判是否相等*/

{

print(t[m]); /*如果相等,则调用print函数显示记录信息*/

return ; /*返回*/

}

if(strcmp(t[m].name,s)<0) /*如果中间结点小*/

l=m+1; /*修改左边界*/

else

r=m-1; /*否则,中间结点大,修改右边界*/

}

if(l>r) /*如果左边界大于右边界时*/

printf("not found\n"); /*显示没找到*/

}

/*复制文件*/

void copy()

{

char outfile[20]; /*目标文件名*/

int i,n;

ADDRESS temp[M]; /*定义临时变量*/

FILE *sfp,*tfp; /*定义指向文件的指针*/

clrscr();/*清屏*/

if((sfp=fopen("record.txt","rb"))==NULL) /*打开记录文件*/

{

printf("can not open file\n"); /*显示不能打开文件信息*/

exit(1); /*退出*/

}

printf("Enter outfile name,for example c:\\f1\\te.txt:\n"); /*提示信息*/

scanf("%s",outfile); /*输入目标文件名*/

if((tfp=fopen(outfile,"wb"))==NULL) /*打开目标文件*/

{

printf("can not open file\n"); /*显示不能打开文件信息*/

exit(1); /*退出*/

}

fscanf(sfp,"%d",&n); /*读出文件记录数*/

fprintf(tfp,"%d",n);/*写入目标文件数*/

fprintf(tfp,"\r\n"); /*写入换行符*/

for(i=0;i

{

fscanf(sfp,"%20s%30s%10s\n",temp[i].name,temp[i].units,

temp[i].tele); /*读入记录*/

fprintf(tfp,"%-20s%-30s%-10s\n",temp[i].name,

temp[i].units,temp[i].tele); /*写入记录*/

fprintf(tfp,"\r\n"); /*写入换行符*/

}

fclose(sfp); /*关闭源文件*/

fclose(tfp); /*关闭目标文件*/

printf("you have suess copy file!!!\n"); /*显示复制成功*/

}

会用JAVA写 呵呵 不会用C写

public class BuyChicken{

public static void main( String args[] ){

int cock,hen,chichen;

for( cock = 1;cock < 20;cock++ ){

for( hen =1;hen <33-cock;hen++ ){

chicken = 100-cock-hen;

if( 15*cock+9*hen+chichen==300 )

System.out.println ( "公鸡:"+cock+"母机:"+hen+"小鸡:"chicken );

}

}

}

}

公鸡100块最多是20只 母机100最多是33只 因为每种鸡都有 故 公鸡,母机 ,小鸡都最少有一只所以公鸡应该是1~19只 母机是33-公鸡数,小鸡是100-公鸡-母机 所以条件只要满足这个 程序就可以出来了

思想是一样的 希望对你有所帮助

C语言课程设计,高手来

哦 简单

还在就回个话

写好了

#include

#include

#include

#include

char gus_num[5]={0,0,0,0,0};

int allsame=0,same=0;

void ran_num() 产生一个随即数 存入字符数组gus_num

{

int a,b;

srand(time(0));

for(a=0;a<4;a++)

{

randnum: gus_num[a]=rand()%10+48; 产出0~9的随即数 并转换为字符形式存入字符数组gus_num

for(b=0;b

if(gus_num[b]==gus_num[a])goto randnum;

}

}

void in_num() 输入一个随即数 存入字符数组gus_num

{

printf("输入一个4位数:\n");

scanf("%s",gus_num);

}

int play() 循环8次猜数

{

char gus[5];

int chance=8,a,b,c;

printf("please guess 8 chances\n");

for(a=0;a<8;a++)

{

allsame=0;same=0;

scanf("%s",gus);

for(b=0;b<4;b++)

for(c=0;c<4;c++)

{

if(gus[b]==gus_num[c] && c==b){allsame+=1;continue;}

if(gus[b]==gus_num[c])same+=1;

}

if(allsame==4){printf("Unbelievable you guess it!!\n");return 1;}

printf("%d same place and num. %d only same num.\n",allsame,same);

printf("%dA%dB\n",allsame,same);

}

printf("Sorry game over the num is:%s\n",gus_num);

return 0;

}

void cyc()

{

int input;

printf("(1) 随即产生数据\n");

printf("(2) 用户输入数据\n");

printf("(3) 退出游戏\n");

scanf("%d",&input);

switch (input)

{

case 1:

ran_num();play();cyc();break;

case 2:

in_num();play();cyc();break;

case 3:

return;

}

}

void main()

{

cyc();

}

C语言课程设计求助!求C语言高手帮忙

这么多题目?你不如去百度啊,这都是很基础的题目,你不会的话,我可以教你;

但是做伸手党就不好了

c语言课程设计 请高手指点

我从上找到下,再从下找到上,再从上找到下,愣是没找到main函数,是不是眼花了?没办法,我只有继续下翻,告诉你这个结果,原谅!

求C语言课程设计——加密与解密!请高手帮忙!

/* Turbo 2.0 pass. give file a password! */

#include

#include

#include

#include

void dofile(char *in_fname,char *pwd,char *out_fname);/*对文件进行加密的具体函数*/

void main(int argc,char *argv[])/*定义main()函数的命令行参数*/

{

char in_fname[30];/*用户输入的要加密的文件名*/

char out_fname[30];

char pwd[8];/*用来保存密码*/

if(argc!=4){/*容错处理*/

printf("\nIn-fname:\n");

gets(in_fname);/*得到要加密的文件名*/

printf("Password:\n");

gets(pwd);/*得到密码*/

printf("Out-file:\n");

gets(out_fname);/*得到加密后你要的文件名*/

dofile(in_fname,pwd,out_fname);

}

else{/*如果命令行参数正确,便直接运行程序*/

strcpy(in_fname,argv[1]);

strcpy(pwd,argv[2]);

strcpy(out_fname,argv[3]);

dofile(in_fname,pwd,out_fname);

}

}

/*加密子函数开始*/

void dofile(char *in_fname,char *pwd,char *out_file)

{

FILE *fp1,*fp2;

register char ch;

int j=0;

int j0=0;

fp1=fopen(in_fname,"rb");

if(fp1==NULL){

printf("cannot open in-file.\n");

exit(1);/*如果不能打开要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL){

printf("cannot open or create out-file.\n");

exit(1);/*如果不能建立加密后的文件,便退出*/

}

while(pwd[++j0]);

ch=fgetc(fp1);

/*加密算法开始*/

while(!feof(fp1)){

fputc(ch^pwd[j>=j0?j=0:j++],fp2);/*异或后写入fp2文件*/

ch=fgetc(fp1);

}

fclose(fp1);/*关闭源文件*/

fclose(fp2);/*关闭目标文件*/

}

我自己的

C语言课程设计题

上百度搜啊

分页:123

更多推荐

datachance在c语言的作用,一道c语言课程设计题,请高手来帮忙!

本文发布于:2024-03-08 20:03:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722145.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语言   请高手   课程设计   作用   datachance

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!