大一c语言在线刷题(大一c语言考试题库)

大一c语言在线刷题(大一c语言考试题库)

  今天给各位分享大一c语言在线刷题的知识,其中也会对大一c语言考试题库进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

  本文目录一览:

  1、有什么软件可以搜索大学C语言题目的啊?

2、C/C++哪里能刷题?

3、C语言,求网友发可以刷C语言编程题的网址,不甚感激,OJ题!

4、大一C语言编程题?

5、谁有大一C语言考试题?快考试了,跪求题库··

  有什么软件可以搜索大学C语言题目的啊?

  大学c语言搜题app。大学c语言搜题app原名叫做菜鸟学C语言是一款非常好用的学习c语言的手机软件

  软件功能

  1、选择题:按照考点分类的选择题习题,并有答案解析。

  2、错题库:可自动加练习过程中错题加入收藏,以便反复练习。

  3、上机操作题:300道上机操作题,程序填空题、程序修改题、程序设计题。

  软件优势

  1、选择题:按照考点分类的选择题习题,并有答案解析。

  2、上级操作题:300道上机操作题,程序填空题、程序修改题、程序设计题。

  3、最新押题:最新考试押题3套。

  4、考点汇总:包含复习的考点。

  5、错题库:可自动加练习过程中错题加入收藏,以便反复练习。

  6、收藏夹:可在练习过程中自行收录题目到收藏夹,形成自己的小题库,针对性练习,提高通过率。

  软件特色

  1、随时随地都能够学习,而且还支持下载保存你学习内容离线继续学习。

  2、同学们能够直接通过搜索引擎来查询寻找你感兴趣对你内容。

  3、解答问题的办法非常多,可以选择通过拍照来答题,也可以选择输入题目来解答。

  C/C++哪里能刷题?

  C语言学习宝典,当年大学时候考国二刷题时候用的app,考试刷题挺好用的

  还有一个就是牛客,面试前刷题用的,主要是各大公司的面试题

  C语言,求网友发可以刷C语言编程题的网址,不甚感激,OJ题!

  在线编程网站:

  题库不断更新,注册以后能记录自己的答题内容,题的类型偏向实际应用,很多找IT方向工作的人都会在这刷题练习,效果很好。根据自己找工作的经验,有的公司招聘编程题与这上面的题目很类似,所以个人感觉这个网站练习编程很有效果~

  大一C语言编程题?

  车票根据题意两两站点连线生成,金额和数量分别用随机数。

  数据存储:站点,车票,用户分别为3个结构体,用于对应数据库。

  购买流程:检查输入数值有效性-检查车票库存-购买成功同步修改用户购买流水及车票库存。(这里题目需求不明确,没有指明用户购买方式),我的代码允许一个用户同时购买多种票,每种票可分批购买多张。购买流水记录自动增加和更新。

  退票流程:检查输入和用户购买记录,同步更新用户及车票信息。

  删除流程:选择删除没有被用户购买的票(函数检查所有用户,虽然本题只要一个用户,实际传参用户数组首地址)。

  PS: 这个题目涉及到增删改,用链表来写更好,但考虑你学习范围,没有使用链表而是动态数组,动态数组删除,考虑内存占用,不仅要需循环移位还要释放多余地址。

  另外整体程序,异常的处理我只是单纯返回0或者1或者-1区分基本的成功与失败。你如想对个别异常进行特殊处理,自行修改返回值,接收判断。

  下面是代码:

  #include stdio.h

  #include stdlib.h

  #include string.h

  #include time.h

  #include windows.h

  #include conio.h

  #define MS 5//最大站点数

  typedef struct station

  {

  char sid[10];

  char sName[20];

  }STN;

  typedef struct ticket

  {

  int tid;//票编号

  STN *ssP;//起始站

  STN *tsP;//终点站

  int value;//票价

  int number;//数量

  }TKT;

  typedef struct userInfo//用户

  {

  char uid[20];//身份证号

  int cnt;//购买的票种类数量

  int *btids;//购买的所有票id数组

  int *btNum;//购买的所有票数量数组

  }UIFO;

  int init(STN stns[MS],TKT **tkts);//初始化车站、票数据

  int disAllTickets(TKT *tkts);

  int buyTicket(UIFO *uifo,TKT *tkts);//异常返回0

  int reTicket(UIFO *uifo,TKT *tkts);//异常返回0

  int showMenu(UIFO *uifo,TKT *tkts);

  int delIntByIndex(int *nums,int len,int index);//通过下标index删除动态整型数组nums对应元素,并释放多余地址,返回删除后的数组长度,异常返回-1

  int delTkts(UIFO *uifos,int len,TKT *tkts);//删除指定票(检查用户组,只要有一个用户购买,无法删除)

  int cnt;//票种类数量

  int main()

  {

  STN stns[MS];

  TKT *tkts=NULL;

  UIFO uifo={“3250614”,0,NULL,NULL};

  srand(time(NULL));

  cnt=init(stns,tkts);

  printf(“共生成%d组票(每组往返两种票,共%d种票)

  ”,cnt/2,cnt);

  printf(“按任意键继续。。。。

  ”),getch();

  system(“cls”);

  showMenu(uifo,tkts);

  return 0;

  }

  int showMenu(UIFO *uifo,TKT *tkts)

  {

  int n=5;

  printf(“(1) Buy ticket

  ”);

  printf(“(2) Refund ticket

  ”);

  printf(“(3) Remove ticket

  ”);

  printf(“(4) Display all tickets

  ”);

  printf(“(0) Exit

  ”);

  while(n0 || n4)

  scanf(“%d”,n);

  switch(n)

  {

  case 0: return 0;

  case 1: if(!buyTicket(uifo,tkts)) return 0;break;

  case 2: if(!reTicket(uifo,tkts)) return 0;break;

  case 3: if(!delTkts(uifo,1,tkts)) return 0;break;

  //这里删除功能,用户多名,要传数组首地址,由于演示只有一个用户(len=对应用户数),所以只传该用户地址(len=1)

  case 4: disAllTickets(tkts);break;

  }

  showMenu(uifo,tkts);

  return 1;

  }

  int disAllTickets(TKT *tkts)

  {

  int i;

  for(i=0;icnt;i++)

  printf(“编号:%2d 路程:%s-%s 票价:%3d 剩余票数:%d

  ”,tkts[i].tid,tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

  printf(“按任意键继续。。。。

  ”),getch();

  system(“cls”);

  return 1;

  }

  int delIntByIndex(int *nums,int len,int index)

  {

  int i,*temp=NULL;

  if(indexlen-1) return -1;

  for(i=index;ilen-1;i++)

  nums[i]=nums[i+1];

  len–;

  if(len)

  {

  temp=(int *)realloc(nums,sizeof(int)*len);

  if(!temp) return -1;

  nums=temp;

  }

  else

  free(nums);

  return len;

  }

  int reTicket(UIFO *uifo,TKT *tkts)

  {

  int i,j,tid,n,index,len,flag=0;

  printf(“当前用户购买记录:

  ”);

  for(i=0;iuifo-cnt;i++)

  {

  for(j=0;jcnt;j++)

  if(tkts[j].tid==uifo-btids[i]) index=j;

  printf(“–车票编号:%d,起末站:%s-%s,购买票数:%d

  ”,uifo-btids[i],tkts[index].ssP-sName,tkts[index].tsP-sName,uifo-btNum[i]);

  }

  printf(“请输入要退票的车票id及票数:”),scanf(“%d%d”,tid,n);

  for(i=0;iuifo-cnt;i++)

  if(uifo-btids[i]==tid uifo-btNum[i]=n)

  {

  for(j=0;jcnt;j++)

  if(tkts[j].tid==uifo-btids[i]) tkts[j].number+=n;//同步修改对应车票剩余票数

  uifo-btNum[i]-=n;//用户购买记录修改

  if(uifo-btNum[i]==0)//某种车票全部退完,删除该条记录

  {

  len=delIntByIndex(uifo-btNum,uifo-cnt,i);

  if(len==-1) return 0;

  len=delIntByIndex(uifo-btids,uifo-cnt,i);

  if(len==-1) return 0;

  uifo-cnt=len;

  }

  flag=1;

  break;

  }

  if(flag)

  printf(“退票成功!

  ”);

  else

  printf(“无此购买记录或输入数量不符合

  ”);

  printf(“按任意键继续。。。。

  ”),getch();

  system(“cls”);

  return 1;

  }

  int buyTicket(UIFO *uifo,TKT *tkts)

  {

  char spn[20],tpn[20];

  int i,n=-1,index=-1,*temp=NULL;

  for(i=0;icnt;i++)

  printf(“编号:%2d 路程:%s-%s 票价:%3d 剩余票数:%d

  ”,tkts[i].tid,tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

  printf(“请输入始发站站名和终点站站名:”),scanf(“%s%s”,spn,tpn);

  for(i=0;icnt;i++)

  if(strcmp(tkts[i].ssP-sName,spn)==0 strcmp(tkts[i].tsP-sName,tpn)==0)

  {

  printf(“车票%s-%s 票价:%3d 剩余票数:%d

  ”,tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

  index=i;

  break;

  }

  if(index==-1)

  printf(“购买失败!无此路程的车票

  ”);

  else

  {

  while(n=0)

  {

  printf(“请输入要购买的数量(大于0):”),scanf(“%d”,n);

  if(tkts[index].numbern)

  printf(“错误:车票数量不足或者输入数值超出范围!请重新输入!

  ”),n=-1;

  }

  for(i=0;iuifo-cnt;i++)//检查用户购买记录,重复票累加购买数量,不同票新增记录

  {

  if(uifo-btids[i]==tkts[index].tid)

  {

  printf(“该票已购买了%d张,现再次购买%d张,累计购买了%d张

  ”,uifo-btNum[i],n,uifo-btNum[i]+n);

  uifo-btNum[i]+=n;

  tkts[index].number-=n;

  break;

  }

  }

  if(i==uifo-cnt)//未检查到重复记录,新增

  {

  if(!uifo-btids)

  {

  uifo-btids=(int *)malloc(sizeof(int));

  if(!uifo-btids) return 0;

  uifo-btNum=(int *)malloc(sizeof(int));

  if(!uifo-btNum) return 0;

  }

  else

  {

  temp=(int *)realloc(uifo-btids,sizeof(int)*(uifo-cnt+1));

  if(!temp) return 0;

  uifo-btids=temp;

  temp=(int *)realloc(uifo-btNum,sizeof(int)*(uifo-cnt+1));

  if(!temp) return 0;

  uifo-btNum=temp;

  }

  uifo-btids[uifo-cnt]=tkts[index].tid;

  printf(“该票购买了%d张

  ”,(uifo-btNum[uifo-cnt]=n));

  tkts[index].number-=n;

  uifo-cnt++;

  printf(“用户购买记录:

  ”);

  for(i=0;iuifo-cnt;i++)

  printf(“–车票编号:%d,购买票数:%d

  ”,uifo-btids[i],uifo-btNum[i]);

  }

  printf(“本次成功购买了%s-%s的票%d张!

  ”,tkts[index].ssP-sName,tkts[index].tsP-sName,n);

  }

  printf(“按任意键继续。。。。

  ”),getch();

  system(“cls”);

  return 1;

  }

  int delTkts(UIFO *uifos,int len,TKT *tkts)//len:所有购买的用户数量

  {

  int i,j,k,tid,flag=0,index;

  for(i=0;icnt;i++)

  printf(“编号:%2d 路程:%s-%s 票价:%3d 剩余票数:%d

  ”,tkts[i].tid,tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

  printf(“请输入要删除的车票编号:”),scanf(“%d”,tid);

  for(i=0;icnt;i++)

  if(tid==tkts[i].tid)

  {

  index=i;

  flag=1;

  for(j=0;jlen;j++)//检查所有用户购买记录

  {

  for(k=0;kuifos[j].cnt;k++)

  if(uifos[j].btids[k]==tid)

  {

  flag=0;

  printf(“该票已被用户购买,无法删除,需先完成退票!

  ”);

  break;

  }

  if(!flag)

  break;

  }

  break;

  }

  if(!flag) printf(” 删除失败,输入数值超出范围或不可删除!

  ”);

  else

  {

  cnt–;

  if(cnt==0)

  {

  free(tkts[index].ssP);

  free(tkts[index].tsP);

  free(tkts[index]);

  }

  else

  {

  free(tkts[index].ssP);

大一c语言在线刷题(大一c语言考试题库)

  free(tkts[index].tsP);

  for(i=index;icnt;i++)

  tkts[i]=tkts[i+1];

  tkts[cnt].ssP=NULL;

  tkts[cnt].tsP=NULL;

  free(tkts[cnt]);

  }

  printf(” 删除成功!

  ”);

  }

  printf(“按任意键继续。。。。

  ”),getch();

  system(“cls”);

  return 1;

  }

  int init(STN stns[MS],TKT **tkts)

  {

  TKT *tTemp=NULL;

  int i,j,n,v,cnt=2;

  static int id=1;

  printf(“生成站点:

  ”);

  for(i=0;iMS;i++,id++)

  {

  sprintf(stns[i].sid,”车站%03d”,id);

  sprintf(stns[i].sName,”SN%03d”,id);

  printf(“—-站点名:%s。站点ID:%s

  ”,stns[i].sid,stns[i].sName);

  }

  printf(“计算所有站点连线,生成车票(票是往返,所以一次生成往返两组票):

  ”);

  for(i=0;iMS;i++)

  for(j=i+1;jMS;j++)

  {

  if(!(*tkts))

  {

  *tkts=(TKT *)malloc(sizeof(TKT)*2);

  if(!(*tkts)) return -1;

  }

  else

  {

  tTemp=(TKT *)realloc((*tkts),sizeof(TKT)*cnt);

  if(!tTemp) return -1;

  *tkts=tTemp;

  }

  n=rand()%4+2;//每种票随机2~5张(保证总数大于20)

  v=rand()%201+50;//随机生成票价50~250

  (*tkts)[cnt-1].tid=cnt;

  (*tkts)[cnt-1].ssP=stns[i];

  (*tkts)[cnt-1].tsP=stns[j];

  (*tkts)[cnt-1].value=v;

  (*tkts)[cnt-1].number=n;

  (*tkts)[cnt-2].tid=cnt-1;

  (*tkts)[cnt-2].ssP=stns[j];

  (*tkts)[cnt-2].tsP=stns[i];

  (*tkts)[cnt-2].value=v;

  (*tkts)[cnt-2].number=n;

  printf(“—-%s和%s的之间往返票各生成%d张,票价为%d(随机)

  ”,stns[i].sName,stns[j].sName,n,v);

  cnt+=2;

  }

  return cnt-2;

  }

  //答题不易,如采纳的,请不要无故删除问题。

  谁有大一C语言考试题?快考试了,跪求题库··

  单项选择题(每小题2分,共50分)

  1、一个C程序的执行是从___A__。

  A、本程序的main函数开始,到main函数结束

  B、本程序的main函数开始,到本程序文件的最后一个函数结束

  C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

  D、本程序文件的第一个函数开始,到本程序main函数结束

  2、C语言程序的基本单位是___C___。

  A、程序行 B、语句

  C、函数 D、字符

  3、请选出可用作C语言用户标识符的一组标识符___B___。

  A、void B、a3_b3 C、For D、2a

  define _123 -abc DO

  WORD IF ase sizeof

  主要特点

  C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

  以上内容参考:百度百科-c语言

  大一c语言在线刷题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于大一c语言考试题库、大一c语言在线刷题的信息别忘了在本站进行查找喔。

关于 大一c语言在线刷题(大一c语言考试题库) 的问题,嗨壳技术分享网(www.heikehao.com)小编就分享到这里吧!如果大家有疑问欢迎留言询问。

原创文章,作者:语言我知,如若转载,请注明出处:https://www.heikehao.com/11157.html

(0)
语言我知语言我知
上一篇 2020年5月11日
下一篇 2020年5月11日

相关推荐

  • c语言数组赋值指指针,c语言指针数组的赋值与引用

    今天,嗨壳技术分享网给大家整理一些c语言数组赋值指指针,c语言指针数组的赋值与引用内容。   C语言中用指针变量指向数组元素   int a[10] ;int *p=a ; //定…

    2022年6月9日
  • 怎么判断c语言字符个数-怎么判断c语言字符个数多少

    今天,嗨壳技术分享网给大家整理一些怎么判断c语言字符个数-怎么判断c语言字符个数多少内容。   如何计算C语言语言中变量有几个字符   1、在C语言中,要统计一个字符串的字符个数,…

    2020年1月14日
  • c语言中的取整

    针对c语言中的取整的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   C语言中除法和取整分别怎么做   int i = 5;或i = (int) 5。这样的方法采用的是舍去小…

    2023年7月1日
  • 包含c语言查找TXT文件的词条

    关于包含c语言查找TXT文件的词条话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些包含c语言查找TXT文件的词条内容,让我们一起了解一些技术吧!   xcodec语言找不到t…

    2020年9月15日
  • 百钱买鸡c语言,c语言解决百钱买百鸡

    针对百钱买鸡c语言,c语言解决百钱买百鸡的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   百鸡问题怎么用C语言求解   题目意思是公鸡一只5块钱(假设),母鸡一只3块钱,小…

    2020年2月28日
  • c语言做登入界面

    关于c语言做登入界面话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些c语言做登入界面内容,让我们一起了解一些技术吧!   怎么用C语言编写个登陆界面?   #include …

    2020年4月17日
  • c语言root的用法

    c语言root的用法 大家并不陌生,借来给大家详细说说吧!   C语言编程中与是什么意思?   root指的是你有权限可以再系统上对所有档案有 “读” &#…

    2020年3月28日
  • 如何用c语言创建线程池 – c语音创建线程

    今日,嗨壳技术分享网小编分享如何用c语言创建线程池 – c语音创建线程 相关内容,内容如下。   C语言里面_beginthread()如何使用   beginthre…

    2020年9月6日
  • 在c语言中实数有两种表示形式

    今天,嗨壳技术分享网给大家整理一些在c语言中实数有两种表示形式内容。   在C语言中的实型变量分为2种类型,它们是()和()   C语言提供的实型变量有两种类型:单精度(float…

    2020年7月3日
  • 学会c语言后下一步学什么

    学会c语言后下一步学什么   学完c语言应该学什么?   接下来有俩方向.   1、深入C语言学习,适合从事嵌入式c的行业。需要阅读中级c语言资料。例如c缺陷与陷阱、c和指针、C …

    2021年12月1日