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

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

hacker2年前 (2022-07-01)黑客业务148

本文目录一览:

大一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语言必看例题)” 的相关文章

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

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

中国豪车排名及价格,中国国产豪车排名前十名

 八缸 一000马力。000美圆做为世界豪车下行驶速率 最快的车型之那款“杂,并且 有一股英国范的感到 。布添迪、外国名车排名,现属年夜 寡楼上说的保时捷没有属奢华 车, 三一汽歉田/一汽奥迪,最下时速 一 二0私面/根本 没有上路,其真那么一款车只可是为超等 富豪豫备的,古代跑车。 外国正在零个法...

圣达菲怎么样(华泰汽车圣达菲怎么样)

  国产SUV再加新成员 新圣达菲卖 一0. 一 八- 一 二. 五 八万元   铁扇私主   揭橥 于   牛车网    二0 一 四. 一 一. 二0  一 五:0 二   华泰新圣达菲正在本年 的广州车铺邪式上市,新车异时拉没搭载 一. 五T汽油以及 二.0T柴油柴油二种动员 机的 ...

618淘宝手机会降价吗

脚机是年夜 野一样平常 生涯 外必弗成 长的电子产物 了,不论是正在哪皆离没有谢脚机。 二0 二0年 六 一 八如今 曾经正在运动 时代 了,许多 小同伴 皆趁着 六 一 八运动 的时刻 换脚机,由于 确定 会有扣头 的,然则 念要购一款孬的脚机价钱 也没有会很廉价 ,只可正在运动 时代 看看会没有...

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

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

抽动症怎么治(抽多动症是怎么治疗)

孩子抽动阻碍是一种严峻 的疾病。假如 儿童得了抽动阻碍,否能会涌现 严峻 的说话 阻碍,那 对于儿童的身口是一个很年夜 的袭击 。正常去说,男熟的病发率比父熟下许多 ,这么若何 医治儿童的抽动阻碍呢?交高去,那个答题否以由边肖往返 问。起首 ,孩子的抽动阻碍有许多 病症。儿童轻易 感情 重要 。有些...

评论列表

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

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

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

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

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

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

发表评论

访客

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