![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
樊南
这个作者很懒,什么都没留下…
展开
-
用switch语句编程设计一个简单的计算器程序
用switch语句编程设计一个简单的计算器程序。 要求根据用户从键盘输入的表达式(注意操作数与运算符之间没有空格): 操作数1 运算符op 操作数2 计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。提示:因为除法中的除数不能为0,因此关键在于如何比较浮点变量data2和常数0是否相等。作为整型变量跟0的比较,简单的==就可以解决。而浮点型等实型变量需要用 if (fabs(data2) <= 1e-7) 进行原创 2021-10-31 16:34:10 · 30135 阅读 · 14 评论 -
程序设计实验 实验七T1
1)设计一个保存学生成绩信息的结构,包括学号、姓名、课程名、平时成绩、考试成绩、总评成绩。分别用函数实现以下功能:①输入n个学生的信息(平时和考试成绩)②要求计算并输出学生的总分(平时20%,考试80%)并输出;③输出总分最高和最低的学生信息。#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include<string.h>typedef struct student.原创 2022-01-22 16:39:09 · 1044 阅读 · 0 评论 -
利用文件实现学生成绩的储存和查询
设计开发一个程序:能输入一个班学生某门课程的成绩信息,包括学号、姓名、平时成绩、考试成绩,然后通过计算得到总评成绩(=20%×平时成绩+80%×考试成绩),能够将这些信息存入文本文件;能够从文件中读取全部学生信息和查询总评成绩最低和最高的学生信息,并完整无误地显示出来。 学生信息按如下格式保存到文本文件:001 张三 34.00 56.00 51.60002 李四 68.00 90.00 85.60......编程要求(1)本程序采用多源文件结构,即:由三个源文件组成,分别是:主函数原创 2022-01-22 15:57:00 · 1632 阅读 · 0 评论 -
50个无序数据找第二小
给定一个不少于50个关键字的无序数据集合,在不排序的情况下编程找出第2小的关键字。#include<stdio.h>int main() { int result, min1, min2, min3, i, j; int data[52] = {56, 77, 34, 2, 8, 13, 45, 87, 9, 6, 88, 16, 15, 33, 24, 58, 65, 32, 11, 90, 14, 10, 34, 59, 60, 93, 96, 39, 43, 6...原创 2021-12-28 18:03:29 · 340 阅读 · 0 评论 -
校运会排队
2021校运动会马上要进行了,现在要进行入场仪式训练:24名女生和36名男生。系统随机产生这60名同学身高。要求入场时24名女生按身高从低到高排成4行在前面,男生36按同样规则排6行在女生后面;编程输出排好序的身高数据(共10行,每行6个身高数据)#include <stdio.h>#include<stdlib.h>#include<time.h>int main() { int girl[24] = {0},boy[36]={0}, i, j, temp原创 2021-12-28 17:43:50 · 175 阅读 · 0 评论 -
编程对学生信息进行处理,要求写几个子函数分别实现:(1)随机输入不少于6个学生信息并保存;(2)按学号由小到大顺序排序后输出;(3)输入学号,用折半查找法找出该学生;(4)将第(3)找到的学生
#include<stdio.h>struct Student { int id; char name[20]; int score;};//输入void Input(struct Student *arr, int n) { for (int i = 0; i < n; i++) { printf("请输入第%d个学生的学号、姓名、成绩:", i + 1); scanf("%d %s %d", &arr[i].id, arr[i].name, &a.原创 2021-12-23 11:48:04 · 969 阅读 · 0 评论 -
链表求平均值
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。函数fun的功能是求出平均分,由函数值返回。例如学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是78.625。#include <stdio.h>#include <stdlib.h>#define N 8struct slist{ double s; struct slist *next;};typedef struct slist STREC;d原创 2021-12-19 13:01:45 · 3440 阅读 · 0 评论 -
删除链表元素
在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。#include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list { int data; struct list *next; } SLIST; void fun( SLIST *p) { SLIST *t, *s; t=p->next; s=p.原创 2021-12-19 12:53:39 · 254 阅读 · 0 评论 -
基于结构体的学生信息管理系统
编写一个基于结构体得学生成绩信息管理系统。主要功能如下: 1. 用结构体存放所有数据。2. 每个功能都用函数实现。3. 输入10个学生的学号和三门课程的成绩。4. 计算每个学生的总分。5. 按总分从高到低排序。6. 加上名次一列。7. 输出最后的二维表格样式的成绩,含学号、三门课成绩、总分、名次。请填写五个函数完成相应功能的实现。其中:input_data(STU s[]):输入原始数据函数。参数作用: STU s[]:用来存放10个学生信息的结构体数组。 c...原创 2021-12-06 21:56:28 · 4380 阅读 · 10 评论 -
结构体:n个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序输出学生的信息。
有n个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序输出学生的信息。测试输入:510101 Zhang 7810103 Wang 9810106 Li 8610108 Ling 7310110 Sun 100预期输出:10110 Sun 10010103 Wang 9810106 Li 8610101 Zhang 7810108 Ling 73测试输入数据说明:第一行为整数n表示有n个学生, 1<=n<=200。接下来包含n行数据,每行数据代表一个学生原创 2021-12-01 20:34:13 · 27881 阅读 · 8 评论 -
结构体的初始化和应用
一、结构体的定义定义格式为:struct <结构体类型名>{<成员表>}; //分号结束定义例如:struct student{long number;char name[20];char sex;float score;};在这个结构体定义中,结构体类型名为student,该结构体由4个成员组成。第一个成员为number,整型变量;第二个成员为name,字符数组;第三个成员为sex,字符变量;第四个成员为score,实型变量。注意:在花括原创 2021-11-30 22:46:01 · 782 阅读 · 0 评论 -
函数:给小学生出加法运算题,判断对错并统计得分
编写程序,给小学生出加法运算题,然后判断学生输入的答案对错与否,并统计得分。功能:连续出10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示"Right!",否则显示"Not correct!",不给机会重做,10道题做完后,按每题10分统计总得分和错误题数,然后输出总分和做错的题数。编程要求: 较好的用户输入输出提示 使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的 正确与否(用1或者0表示)。...原创 2021-11-26 19:52:22 · 3609 阅读 · 0 评论 -
利用函数统计一个班学生平均成绩
任务描述 编写一个统计一个班级学生(总人数不超过40)的平均成绩, 程序运行时,让用户输入学生人数,然后逐个输入所有学生的成绩(成绩有效范围为0~100),输入完成后,给出平均分(保留小数点后面两位有效数字)。编程要求(a)对输入的学生人数进行合法性检查(若小于2或大于40,则输出“输入错误”,并退出程序(b)定义一个函数void InputScore(float score[],int N),其中score为用于存储所有学生成绩的数组,N为学生人数,该函数运行后,可以等...原创 2021-11-26 17:42:16 · 4058 阅读 · 0 评论 -
利用函数求平方根
#include <stdio.h>#include <math.h>double fun(double a, double x0) { double x1, y; x1 = (x0 + a / x0) / 2.0; if (fabs(x1 - x0) >= 0.00001) y = fun(a, x1); else y = x1; return y;}int main() { double x; scanf("%lf", &x);.原创 2021-11-23 20:40:07 · 872 阅读 · 0 评论 -
函数计算第五个学生的年龄
有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。问第4个学生岁数,他说比第3个学生大2岁。问第3个学生岁数,他说比第2个学生大2岁。问第2个学生岁数,他说比第1个学生大2岁。最后问第一个学生,他说是10岁。请问第五个学生多大?#include <stdio.h>int age(int n);int main(){ int m=5; printf("age=%d",age(m)); return 0;} int age(int n){ int result原创 2021-11-22 11:08:45 · 386 阅读 · 0 评论 -
求1到n的阶乘和
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字输入:一个整数n(1<=n<=20)输出:输出表达式的值,占一行。提示:用int可能会溢出,需要用能表示更大范围的long long int(注:VC6.0不支持此类型,VC下使用可使用__int64替代)#include<stdio.h>long long int fac(int x){int i;long long int s=1;for(i=1;i<=x;i++){ s=s*.原创 2021-11-15 20:53:40 · 1264 阅读 · 0 评论 -
检验并打印魔方矩阵
在下面的5×5阶魔方矩阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中,然后检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。#include<stdio.h>#define X 5#define Y 5int main() { int a[X][Y] = {0}, i, j, s1 = 0, s2 = 0, s3 = 0, s4 = 0; for (int i = 0; i < 5; i++)...原创 2021-11-13 23:38:02 · 2114 阅读 · 0 评论 -
餐饮服务质量调查打分 统计调查结果,并用*打印统计结果直方图。
某公司的主管需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。Grade Count Histogr...原创 2021-11-13 18:25:45 · 3654 阅读 · 0 评论 -
数组元素交换 有一个3*4矩阵,找出每行中最大的元素并与第1列元素交换。
有一个3*4矩阵,找出每行中最大的元素并与第1列元素交换。具体要求如下: 1. 使用二维数组存放该3*4矩阵 2. 为二维数组输入数据。 3. 输出原矩阵并和处理后的矩阵进行比较。输入: 第一行为两个整数,表示3x4的矩阵。 第二行开始为矩阵赋值。输出: 第一行输出提示"原矩阵:"。 第二行开始输出原矩阵数据。 接下来一行输出提示"处理后:"。 接下来一行开始输出处理后的矩阵数据。...原创 2021-11-09 20:48:41 · 6547 阅读 · 10 评论 -
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小,当然二维数组也可能没有鞍点。若存在鞍点,则输出这个鞍点的值 若不存在鞍点,则输出没有鞍点
输入:输入共有两行,第一行输入数组的大小m与n 第二行输入该数组所有元素输出:若存在鞍点,则输出这个鞍点的值 若不存在鞍点,则输出没有鞍点原创 2021-11-09 18:04:16 · 7197 阅读 · 3 评论 -
将字符串s中所有位于奇数位置的字符或 ASCII码 为偶数的字符放入新字符(串)数组t中
将源字符串s中所有位于奇数位置的字符或 ASCII码 为偶数的字符放入新字符(串)数组t中(规定第一个字符放在第0位中)。 并输出处理后新的字符串。要求:输入: 一行字符,长度小于20. 输出: 处理后的字符串.#include <stdio.h>int main() { int i = 0, j = 0; char s[20], t[20]; scanf("%s", s); for (i = 0; i <= 20; i++) { if (i...原创 2021-11-07 22:26:33 · 4401 阅读 · 1 评论 -
折半查找整数m在数组中的位置。若找到,返回其下标值,否则返回Not be found。
由N个有序整数组成的数列已放在一维数组中,给定程序的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值,否则返回Not be found!。#include <stdio.h>#define N 10int main() { int i, a[N] = {-5, 4, 9, 15, 28, 45, 66, 89, 100, 180 }, k = -1, m; int low = 0, high = N - 1, mid; for (i = 0; i &l原创 2021-11-07 15:58:43 · 2386 阅读 · 0 评论 -
猴子吃桃,第N天只剩一个桃子求第一天摘了多少个
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天又将剩下的桃子吃了一半多一个。以后每天都这样吃桃子,但到第N天想再吃就只剩下一个桃子了。求第一天共摘了多少个桃子。#include<stdio.h>int main(){ int a=1,b=1,n,i; scanf("%d",&n); for (i = n-1; i>0; i--)//天数倒推 { b =2*(b + 1);//每一天的吃桃数 a = b + a;//吃桃原创 2021-11-07 15:16:08 · 1660 阅读 · 0 评论 -
运用数组将十进制整数转化为二进制
这里用到的方法是"除2取余,逆序排列"法具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,一直进行,直到商为小于1时为止,然后把得到的余数倒序排列。#include <stdio.h>int main() { int i = 0, base, j, num[100] ; printf("请输入:"); scanf("%d", &base) ; do { num[i] = base % 2; base = base /原创 2021-11-06 21:31:00 · 3621 阅读 · 5 评论