已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.在“校园歌手大奖赛”中有10位评委为选手打分。某位选手的最终得分是去掉一个最高、去掉一个最低分后的平均分,编写程序实现这一功能。#include stdio.h#define N10/*评委人数*/#define MAX10/*打分分数上限*/#define MIN0/*打分分数下限*/int main( )float sN;/*存储10位评委的打分*/float sum=0;/*sum用于存储10个分数之和*/float aver;/*aver用于存储最终得分*/float min= MAX, max= MIN;int i; /*循环控制变量*/for( i=0; isi) min = si;/*min得到最低分*/if(maxsi) max = si;/*max得到最高分*/ aver = (sum-max-min)/(N-2);/*计算除最高分和最低分的平均分*/printf(该选手最终得分为:%.2fn, aver);return 0;2.成绩分析是“成绩管理系统”的一个模块,包括统计各分数段人数及比例,计算平均分数、标准差等。编程实现成绩分析的以上功能。#include stdio.h#include math.h /*平方根函数sqrt()的头文件*/#define N10/*人数*/int main( )int i; /*循环控制变量*/float scoreN = 55,86,79,93,66,71,95,72,88,65; /*准备数据*/int s5=0;/*数组s存放个分数段人数*/float sum = 0, aver;/*sum存储总分,aver存储平均分*/float var, stdev;/*var存储方差,stdev存储标准差*/for(i=0;iN;i+)sum+= scorei;if(scorei=60 & scorei=70 & scorei=80 & scorei=90 & scorei=100) s4+;aver = sum/N;var=0; for(i=0;iN;i+)var+=(aver-scorei)* (aver-scorei);var/=N-1; /*计算方差*/stdev=sqrt(var); /*计算标准差*/printf(总分:%fn, sum);printf(平均分:%.2fn, aver);printf(不及格人数:%dn, s0);printf(6069人数:%dn, s1);printf(7079人数:%dn, s2);printf(8089人数:%dn, s3);printf(90100人数:%dn, s4);printf(标准差:%fn, stdev);return 0;3.利用数组存放斐波那契(Fibonacci)数列的前20项并输出。#include stdio.h#define N20/*项数*/int main( )int i; /*循环控制变量*/intFN=1,1; /*数组F用于存储前N项数*/printf(%d,%d,F0, F1); /*先输出前两项*/for(i=2;iN;i+) /*计算并输出后面各项*/Fi=Fi-2+Fi-1;printf(,%d,Fi);printf(n);return 0;4.使用数组精确计算M/N(0MNM):);scanf(%d,&n);if(mn)printf(数据错,被除数大于除数!n);return;printf(%d/%d=%s,m,n,0.); /*输出0和小数点*/m = m%n; /*第一次余数再存入m中*/for(i=0; iN; i+ ) /*商的位数*/remainderi = m; /*保存当前余数*/m *= 10; /*余数扩大10倍,作为下一个被除数*/quotienti = m/n; /*保存本次商*/printf(%d,quotienti); /*输出小数点后各位*/m = m%n; /*余数再次放入变量m中*/if(m = 0) break; /*当前余数为0,结束循环*/for(j=0; j=i; j+)/*本循环查找当前余数是否已经存在*/if(m=remainderj) /*若当前余数在前面已经出现过*/flag = 1;/*标志置1*/start = j+1;/*记录循环数列开始位置,下标标号加1*/end = i+1;/*记录循环数列结束位置,下标标号加1*/break;if(flag = 1)break;/*如果是循环小数,则不用再继续除*/printf(n);if(flag=1) printf(结果为有限循环小数,循环节从第%d位开始,共%d位。n,start,end-start+1);return 0;5.有两个长度相同的整型一维数组,分别输出它们对应位置上的数字之差。#includestdio.h#define N 5 /*数组长度*/int main()int i; /*循环控制变量*/int aN = 54,12,35,64,78; /*定义数组a、准备数据*/int bN = 71,25,46,81,69; /*定义数组b、准备数据*/printf(位置t数组at数组bt差值n);for(i=0;iN;i+)printf(%dt%dt%dt%dn,i,ai,bi,ai-bi);return 0;6. 已有一个排好序的数组,从键盘输入一个数,按原顺序插入到该数组中。#includestdio.h#define N 5 /*数组长度*/int main()int i,j; /*循环控制变量*/int x; /*x用于存储用户输入的数据*/int aN+1 = 6,12,35,64,78; /*定义数组a、准备数据*/printf(原数据序列:);for(i=0;iN;i+)printf(%dt,ai);printf(n);printf(请输入一个整数:);scanf(%d, &x);for(i=0;iN;i+)/*如果输入的数小于当前数,说明i为新数据的位置,则结束循环*/if(xi; j-) aj = aj-1; /*移动后面的数*/ai = x; /*将新数放在i号位置上*/printf(插入新数据后的数据序列:);for(i=0;i0)printf(第1串大于第2串n);else printf(第2串大于第1串n);return 0;8. 逆序输出输入的一串字符。#includestdio.h#define MAX 80 /*字符串的最大字符数*/int main()int i=0; /*存储输入字符串中的字符个数*/int j=0; /*数组下标*/int k; /*循环控制变量*/char str1MAX,str2MAX;printf(请输入原字符串:);gets(str1);while(str1i+); /*得到字符串str1的字符个数*/for(k=i-2; k=0; k-) str2j+=str1k;/*将str1中的字符按逆序赋给str2*/ str2i-1=0;/*str2末尾补充0*/printf(逆序后的字符串:);puts(str2);return 0;9. 输入一串字符,将其中小写字母全部转换为大写字母,其它字符保持不变。#includestdio.h#define MAX 80 /*字符串的最大字符数*/int main()int i=0; /*数组下标*/char strMAX;printf(请输入原字符串:);gets(str);while(stri)if(stri=a & stri=z)stri-=32; /*小写字母转为大写*/i+;printf(转换后的字符串:);puts(str);return 0;10. 输入33的矩阵,输出两对角线数据之和。#includestdio.h#define M 3 /*矩阵规模*/int main()int i,j; /*循环控制变量*/int aMM;int sum=0;printf(输入%d个数(空格或回车间隔),构成%d%d的矩阵n,M*M,M,M);for(i=0;iM;i+)for(j=0;jM;j+)scanf(%d,&aij);if(i=j)sum+=aij; /*将对角线上的数据累加到sum*/printf(矩阵:n);for(i=0;iM;i+)for(j=0;jM;j+)printf(%dt,aij);printf(n);printf(对角线之和:);printf(%dn,sum);return 0;11. 统计10个学生3门课的成绩信息:每个人的总成绩、名次。#includestdio.h#define M 10 /*学生人数*/#define N 3 /*课程数*/int main()int i,j; /*循环控制变量*/int stuMN; /*存储每位学生的各课成绩*/int sumM=0; /*存储每位学生的总成绩*/int sortM=0; /*存储每位学生的名次*/for(i=0;iM;i+) /*准备数据*/printf(请输入第%d个学生的成绩:n,i+1);for(j=0;jN;j+)printf(第%d门课的成绩:,j+1);scanf(%d,&stuij);sumi+=stuij; /*计算第i个学生的总成绩*/for(i=0;iM;i+)printf(sort:%dn,sorti);for(i=0;iM;i+) /*利用“逐个比较法”统计名次,成绩相同名次并列*/for(j=0;jM;j+)if(sumisumj)sorti+;/*输出信息*/printf(学生t成绩1t成绩2t成绩3t总成绩t名次n);for(i=0;iM;i+)printf(%dt,i+1);for(j=0;jN;j+)printf(%dt,stuij);printf(%dt%dn,sumi,sorti+1);return 0;12. 输入一个43的整数矩阵,输出其中最大值、最小值和它们的下标(即行号和列号)。#includestdio.h#define M 4 /*矩阵行数*/#define N 3 /*矩阵列数*/#define MIN -32768 /*本程序能够处理的最小数*/#define MAX 32767 /*本程序能够处理的最大数*/int main()int i,j; /*循环控制变量*/int aMN; /*矩阵中的各数据*/int max,min; /*max存储最大值,min存储最小值*/int kmax2,kmin2;/*kmax存储最大值下标,kmin存储最小值下标*/max=MIN;min=MAX;printf(输入%d个整数(回车或空格间隔),构成%d%d的矩阵:n,M*N,M,N);for(i=0;iM;i+)for(j=0;jN;j+)sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中空板挤出线技改项目商业计划书
- 公共管理学期末在线考试试题
- 南京2025年教师招聘考试《教育综合知识》及答案
- 海上风电项目施工方案
- 民医院应急救治中心项目社会稳定风险评估报告
- 伏龙肝提取物的药理效应与靶点关联性-洞察及研究
- 动态资源分配机制-第1篇-洞察及研究
- 吉林省五地六市联盟2026届化学高一上期末质量检测试题含解析
- 湖南长沙县三中2026届化学高三第一学期期中考试试题含解析
- 大数据隐私保护中的零知识证明可验证模型-洞察及研究
- 智能图书馆自助借还系统操作手册
- 超越科技股份有限公司招聘笔试题库2024
- JJF 2020-2022 加油站油气回收系统检测技术规范
- 抖音运输行业广告案例分析
- 施工日志空白表格
- 次氯酸钠服务方案
- 工程开工令及开工报告
- 双向情感障碍患者的护理查房
- 华为薪酬管理体系
- GB/T 33680-2017暴雨灾害等级
- 新湘教版九年级下册数学全册教学课件
评论
0/150
提交评论