当前位置:首页 > 黑客业务 > 正文内容

大一c语言必背编程题(大一上c语言必看例题)

hacker3年前 (2022-07-01)黑客业务158

本文目录一览:

大一C语言编程题(要详细),谢谢!

建立一个数组aa[256],全初始化为0,

2)从头读字符串,每一个是存c中,在相应的aa[c]加1

3)如果aa中的奇数,大于1个,说明不可能是回文数

4)现在就是找最小的交换次数了,也就是把aa中的字每一个拿一半加上哪个奇数减1的一半,来作排列组合,这样最后要的字符串就定下来了,每个字符在这字符串中的号是定下来的,把这个号,和输入的字符串关联起来,来进行冒泡排序 ,如果交换就增加一次交换次数,最后比较所有的排列组合哪个次数最小,就完成

大一c语言编程题

#include stdio.h

int main()

int n,a,b,c;

scanf("%d",n);

if(n100||n999)

printf("Input error!");

else

a=n/100;

b=n/10%10;

c=n%10;

printf("%d",a*a*a+b*b*b+c*c*c);

return 0;

谁有大一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语言编程题?

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

数据存储:站点,车票,用户分别为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={"321002199902050614",0,NULL,NULL};

  srand(time(NULL));

  cnt=init(stns,tkts);

  printf("共生成%d组票(每组往返两种票,共%d种票)\n\n",cnt/2,cnt);

  printf("按任意键继续。。。。\n"),getch();

  system("cls");

  showMenu(uifo,tkts);

  return 0;

int showMenu(UIFO *uifo,TKT *tkts)

  int n=5;

  printf("(1) Buy ticket\n");

  printf("(2) Refund ticket\n");

  printf("(3) Remove ticket\n");

  printf("(4) Display all tickets\n");

  printf("(0) Exit\n");

  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\n",tkts[i].tid,tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

  printf("按任意键继续。。。。\n"),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("当前用户购买记录:\n");

  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\n",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("退票成功!\n");

  else

      printf("无此购买记录或输入数量不符合\n");

  printf("按任意键继续。。。。\n"),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\n",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\n",tkts[i].ssP-sName,tkts[i].tsP-sName,tkts[i].value,tkts[i].number);

          index=i;

          break;

  if(index==-1)

      printf("购买失败!无此路程的车票\n");

  else

      while(n=0)

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

          if(tkts[index].numbern)

              printf("错误:车票数量不足或者输入数值超出范围!请重新输入!\n"),n=-1;

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

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

              printf("该票已购买了%d张,现再次购买%d张,累计购买了%d张\n",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张\n",(uifo-btNum[uifo-cnt]=n));

          tkts[index].number-=n;

          uifo-cnt++;

          printf("用户购买记录:\n");

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

              printf("--车票编号:%d,购买票数:%d\n",uifo-btids[i],uifo-btNum[i]);

      printf("本次成功购买了%s-%s的票%d张!\n",tkts[index].ssP-sName,tkts[index].tsP-sName,n);

  printf("按任意键继续。。。。\n"),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\n",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("该票已被用户购买,无法删除,需先完成退票!\n");

                      break;

              if(!flag)

                  break;

          break;

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

  else

      cnt--;

      if(cnt==0)

          free(tkts[index].ssP);

          free(tkts[index].tsP);

          free(tkts[index]);

      else

          free(tkts[index].ssP);

          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(" 删除成功!\n");

  printf("按任意键继续。。。。\n"),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("生成站点:\n");

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

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

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

      printf("----站点名:%s。站点ID:%s\n",stns[i].sid,stns[i].sName);

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

  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(随机)\n",stns[i].sName,stns[j].sName,n,v);

          cnt+=2;

  return cnt-2;

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

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时在线接单网站发布,如需转载请注明出处。

本文链接:https://www.cn-sl.com/138119.html

分享给朋友:

“大一c语言必背编程题(大一上c语言必看例题)” 的相关文章

熊孩子把暑假作业藏床底疯玩两个月「床底下不能放三样东西」

据厦门网 二0 二 一年 一0月 二0日0 二: 二 六: 一 六的最新新闻 ,微专网友@头条消息爆料熊儿童把寒假功课 匿床底疯玩二个月。 安然 夜光降 之际,熊儿童把寒假功课 匿床底疯玩二个月事宜 ,正在网上炒患上满城风雨,激发 齐网冷议! 据悉,熊儿童把寒假功课 匿床底疯玩二个月。。...

上网本和笔记本有什么区别(上网本和笔记本有什么区别显卡)

  Intel整合上彀 原引导设置装备摆设 区分条记 原    二0 一 一年0 五月 一 一日 00: 五 九做者:吴宗蔚编纂 :吴宗蔚文章没处:泡泡网本创   分享   泡泡网条记 原频叙 五月 一 一日 据外洋 媒体报导,Intel将把上彀 原齐线变换到Cedar Trail,异时将单核处置...

最新电解锰市场价格查询,电解铜最新价格

其时 正常企业的临盆 . 一 四日凡宇资讯海内 次要地域 电解锰商场价钱 汇总产物 规格,品名电解锰规格DJMn 九 九电解铜点 七露税价,本日 海内 各地域 ,电解锰商场支流报价持续 持稳,产质铜粗矿 三 七点 五万吨。 商场晦气 预期正在节前获得 ,必然 斲丧 , 一 四日凡宇资讯,念 晓得电解...

请问哪里可以买到晶体管收音机(七晶体管收音机有哪些优点)

  正在红旗年夜 楼列队 购支音机   http://www.sina.com.cn  二00 七年 一 二月 一 一日0 八:0 四 年夜 河网-年夜 河报   □梁宇波   天天 ,尔迎着晨光 ,安步 正在金火河边 ,经常 看到一点儿白叟 脚携袖珍半导体支音机,一边漫步 一边听 播送,透出...

华流芒种是几月几号农历

芒种是两十四骨气 之一,年夜 野对付 两十四骨气 也曾经异常 熟习 了,然则 芒种是哪一地借没有是很清晰 ,本年 的芒种是阴历 六月 五日,这么 二0 二0年芒种是阴历 几月几号呢?交高去咱们便一路 相识 一高吧。    ...

宁波有海吗(宁波有海吗 离多远)

新浪游览微专| 二0 一 六年 七月 二 一日 一 一: 二 九您说您正在近圆,等着尔去,尔便整理 止李走了;您说您正在海边,花儿借正在谢,尔念看看您内心 的海。 一.台州鲜达岛:东海之珠有图片鲜达岛是省级岛屿丛林 私园,有山、有海、有树。因为 几亿年的天量机关 变迁战潮汐影响,岛屿四周 的岩层战珊...

评论列表

笙沉桔烟
3年前 (2022-07-02)

int len,TKT *tkts)//len:所有购买的用户数量{   int i,j,k,tid,flag=0,index;   for(i=0;icnt;i++)       printf("编号:%2d

世味空名
3年前 (2022-07-02)

free(tkts[index].tsP);           for(i=index;icnt;i++)               tkts[i]=tkts[i+1];           tkts[cnt].ssP=NULL;           tkts[cnt].tsP

柔侣私野
3年前 (2022-07-01)

*tkts){   int i,j,tid,n,index,len,flag=0;   printf("当前用户购买记录:\n");   for(i=0;iuifo-cn

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。