一.填空题(共2题,10.0分)

1
5.14 下面的程序会将产生的n个随机3位数(100~999)构成一个动态存储的环,然后将其中第m个数从环中删除。其中n,m均是从键盘输入的整数,并大于等于1,m可以大于n。程序中有三个空缺请补齐。(不要有空格和不必要的圆括号)

源码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>void main()
{int *s,n,m,i;scanf("%d",&n);s=malloc(n*sizeof(int));srand((unsigned)time(NULL));for(i=0;i<n;i++){s[i]=rand()%900+100;printf("%d:%d ",i+1,s[i]);}printf("\n");scan-1)%n;for(i=m;i<nf("%d",&m);m=(m-1;i++)s[i]=s[i+1];n=n-1;for(i=0;i<n;i++)printf("%d:%d ",i+1,s[i]);free(s);  }

2
6.1 下面的程序用于求两个分数之和,例如,。程序中有四个空缺请补齐。(不要添加空格和圆括号)

#include<stdio.h>typedef struct
{int num;   //分子 int den;   //分母
} Fraction;//递归求最大公约数,用于约分
int gcd(int m,int n)
{if(m%n==0)   {return n;}else {return gcd(n,m%n);}
}//分数相加函数
Fraction add(Fraction a,Fraction b)
{int den,num,g;Fraction r;den=a.den*b.den;             //求分母 num=a.num*b.den+a.den*b.num;    //求分子 g=gcd(den,num);                  //求最大公约数 r.den=den/g;  //结果的分母 r.num=num/g;   //结果的分子 return r;
}void main()
{Fraction a = {1,10}, b = {3,4},c;c=add(a,b);printf("1/10+3/4=%d/%d",c.num,c.den);
}

二.简答题(共1题,5.0分)

1
14-1 建立一种新的类型称为Complex,包含real和imag两个域。使用Complex类型定义两个复数变量,从键盘输入两个变量的值,计算这两个复数的和与乘积并一行以一个空格分隔显示结果。(不要任何提示文字,结果后不用回车)
例如,分两行输入:3,3 与1,-2,在一行显示:4+1j 9-3j。

/*
时间:2021-6-10
作者:童话
环境:Win 10 、 DEV C++
*/
#include<stdio.h>typedef struct
{int real;  //实部 int imag;  //虚部
} Complex;void main()
{Complex x,y;int a,b,c,d;scanf("%d,%d",&x.real,&x.imag);scanf("%d,%d",&y.real,&y.imag);a=x.real+y.real;   //和的实部 b=x.imag+y.imag;   //和的虚部 c=x.real*y.real - x.imag*y.imag;    //积的实部 d=x.real*y.imag + x.imag*y.real;   //积的虚部 printf("%d",a);if(b>0)printf("+%dj ",b);else if(b<0)printf("%dj ",b); elseprintf(" ");printf("%d",c);if(d>0)printf("+%dj",d);else if(d<0)printf("%dj",d);
}

三.程序题(共2题,10.0分)

1
6.2 要编程排序一个班的学生学习成绩,成绩记录类型Record和清单类型List设计如下:

typedef struct {

char no[13];

int score;

} Record;

typedef Record List[10];

请编程,先1行输入班级号和学生人数,以空格分隔,班级号就是学号的前9位,例如201925804 4

然后1行1个输入每个学生的顺序号和成绩,以空格分隔,顺序号就是学号的后3位,例如001 80

再将输入的学生按成绩从大到小排序后,将学生的完整学号和成绩1行1个显示,以1个空格分隔,例如201925804001 80。

/*
时间:2021-6-10
作者:童话
环境:Win 10 、 DEV C++
*/
#include<stdio.h>
#include<string.h>typedef struct
{char no[13];int score;
} Record;typedef Record List[10]; void main()
{List stugrade;int i,j,t,n;char sameno[13],lastno[4],temp[13];scanf("%s %d",sameno,&n);//输入for(i=0;i<n;i++){strcpy(stugrade[i].no,sameno);scanf("%s %d",lastno,&stugrade[i].score);strcat(stugrade[i].no,lastno);}//冒泡排序for(i=0; i<n-1; i++)  //比较n-1轮{for(j=0; j<n-1-i; j++)  //每轮比较n-1-i次,{if(stugrade[j].score < stugrade[j+1].score){t = stugrade[j].score;strcpy(temp,stugrade[j].no);stugrade[j].score = stugrade[j+1].score;strcpy(stugrade[j].no,stugrade[j+1].no);stugrade[j+1].score = t;strcpy(stugrade[j+1].no,temp);}}}//输出for(i=0;i<n;i++){printf("%s %d",stugrade[i].no,stugrade[i].score);if(i<n-1){printf("\n");}}
}

2
6.4 请编写程序输入n个1~3位十六进制数(n由键盘输入,n<=10),保存到List类型的变量中(List类型定义下面已提供),然后将这些十六进制数转换为十进制数仍然保存到该变量中,求这些数的和并显示结果。(显示结果不用提示文字、不回车)

typedef union {
char strcj[4];

int intcj;

} List[10];

例如:输入4

a

b

c

d

显示结果

10+11+12+13=46

有大问题!
/*
时间:2021-6-10
作者:童话
环境:Win 10 、 DEV C++
*/
#include<stdio.h>
#include<string.h>typedef union
{char strcj[4];int  intcj;
} List[10];int HextoDec(char hex[])
{int i,dec=0;int n = 0;char ch;while(hex[n]!=0){n++;}for(i=0;i<n;i++){printf("~~%c~~\n",hex[i]);ch = hex[i];if(ch>='0'&&ch<='9')dec+=((int)((ch-'0')) * (n-i-1) * 16);else if(ch>='a'&&ch<='f')dec+=((int)((ch-'a')) * (n-i-1) * 16);else if(ch>='A'&&ch<='F')dec+=((int)((ch-'A')) * (n-i-1) * 16);printf("~~%d~~\n",dec);}return dec;
}void main()
{List hextodec;int n,i,sum=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s",hextodec[i].strcj);//输入 }for(i=0;i<n;i++){hextodec[i].intcj = HextoDec(hextodec[i].strcj);//转换 }  for(i=0;i<n;i++){printf("%d",hextodec[i].strcj);if(i<n-1){printf("+");}else{printf("=");}sum += hextodec[i].strcj;}printf("%d",hextodec[i].strcj);}

梦龙_C语言作业14相关推荐

  1. 梦龙_C语言作业10

    文章目录 一.填空题 1.平方和 参考答案 源代码 2.随机数 参考答案 源代码 二.简答题 typedef 参考答案 三.程序题 1.平均数 参考答案 2.十六进制 参考答案 一.填空题 1.平方和 ...

  2. 梦龙_C语言作业11

    一.填空题(共4题,20.0分) 1.插入法 5.5 下面程序使用插入法在输入的同时升序排序,请补充①②③三处空缺. 第一空: break 第二空: i+1 第三空: i 源码 #include< ...

  3. 梦龙_C语言作业12

    文章目录 一.填空题_二维数组(共1题,5.0分) 附 二.简答题_杨辉三角(共1题,5.0分) 三.程序题(共3题,15.0分) 1_矩阵 2_change 3_筛选法求素数(有点问题) 一.填空题 ...

  4. 梦龙_C语言作业13

    一.简答题(共1题,5.0分) 1 13-1 编写一个函数char *compact(char s[]);,以一个字符串s作为参数,能将字符串中重复出现的字母删除并返回该字符串的首地址.主程序从键盘输 ...

  5. 怎么将c语言作业保存到word,C++程序中导出Word文档的简易方法_c语言

    如果您要在应用程序中处理Word文档,可以参考MSDN. Lori Turner. Automating Microsoft Office 97 and Office 2000,该文内容详细全面,但是 ...

  6. 北理C语言压缩文本,北理C语言作业及答案2.doc

    北理C语言作业及答案2.doc 34 北理工的恶龙成绩 10 / 折扣 0.8背景最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只 ...

  7. 单片机c语言 i%3c%3c1,单片机C语言作业及上机习题及答案

    <单片机C语言作业及上机习题及答案>由会员分享,可在线阅读,更多相关<单片机C语言作业及上机习题及答案(37页珍藏版)>请在人人文库网上搜索. 1.第一次课熟悉winTC编译环 ...

  8. Easystructure教程_C语言源代码自动生成流程图

    目录 Easystructure教程_C语言源代码自动生成流程图 1. 简介 2. 下载 3. 安装 4. 使用 5. 其他软件推荐 5.1 Mermaid 5.2 Code2flow ** Easy ...

  9. C语言 n的作业,C语言作业练习

    C语言作业练习 人天天都学到一点东西,而往往所学到的是发现昨日学到的是错的. 以下是小编为大家搜索整理了C语言作业练习,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! 一.思考题 ...

最新文章

  1. 如何对正在运行的进程,进行heap profile
  2. 关于目标检测你必须知道的……
  3. LRU算法确定最后使用时间的顺序
  4. iptables相关管理命令
  5. miniconda3 安装numpy_Miniconda“安装”numpy,但Python无法导入
  6. bzoj1046[HAOI2007]上升序列
  7. js代码收集(1)_隐藏div、table间隔样式设置
  8. SAP CRM和C4C数据同步的两种方式概述:SAP PI和HCI
  9. VS 2012 找回消失的“创建单元测试”
  10. WCF和webservice的区别
  11. Matlab 常用语法速记 1
  12. Python生成特定风格的配色组合
  13. Webpack4 学习笔记 - 02:loader 打包静态资源(图片)
  14. python的追加_Python追加添加相同的数据
  15. JMS学习(三)ActiveMQ Message Persistence(转)
  16. android 开发套件_Android套件
  17. vue中使用保利威视频播放器
  18. 联想笔记本电脑换掉原装系统后无法进BIOS不完美解决办法
  19. jsp技术被淘汰了?那还要不要学它?
  20. matlab如何编newton-raphson,Matlab中的Newton-Raphson方法

热门文章

  1. JMeter性能测试:JMeter多用户并发模拟及压测结果分析
  2. vscode 连接远程一直提示输入密码问题解决
  3. 神秘国度的爱情故事--数据结构课程设计
  4. 联想Thinkpad W520评论
  5. 《小团队项目管理》第二问 --- 项目经理是救火队长?
  6. Python遥感可视化 — Basemap对遥感数据可视化
  7. 操作系统: 二级目录文件系统部分功能的实现(主要是C语言,未完整实现)
  8. 如何产生指定分布的随机数?
  9. 前端学习小demo:使用HTML+CSS+bootstrap+Vue2.0编写一个简易的音乐播放器(仿网易云)
  10. 单元测试中的常用测试模式