上机题及答案
更新时间:2024-03-22 13:57:01 阅读量: 综合文库 文档下载
1温度转换 描述
已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出 输入说明
只有一个整数,表示输入的华氏温度 输出说明
输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入 输入样例 50 输出样例 10.00
2计算球体重量
描述
已知铁的比重是7.86,金的比重是19.3。写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI=3.1415926 输入说明
输入两个整数,分别表示铁球与金球的直径(单位为毫米) 输出说明
输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔 输入样例 100 100 输出样例
4115.486 10105.456 提示
#include
double Fe=7.86,Au=19.3,Pi=3.1415926; int m,n;
1
float M1,M2;
scanf(\%d\注意,要使输出的两个数据中间无逗号,“”之间要无逗号,下面也如此
M1=(4.0/3)*Pi*m/2*m/2*m/2*Fe/1000; M2=(4.0/3)*Pi*n/2*n/2*n/2*Au/1000; printf(\return 0; }
3阶梯电价计费
描述
电价分三个档次,[0,110]度电,每度电0.5元;(110,210]度电,超出110部分每度电0.55元,超过210度电,超出210部分每度电0.70元,给出一个家庭一月用电量,请计算出应缴的电费(四舍五入,保留小数点后两位小数)。 输入说明
第一行为1个整数m(100 > m >0),表示有多少组数据。 其后一行为m个正实数,表示m个用电量数据 输出说明
一行输出1个电费数据(四舍五入保留2位小数)后,换行。 输入样例 3
100 200 329.75 输出样例 50.00 104.50 193.82
(1)自己的 #include
double fare(double m){ double n; if(m>=0&&m<=100) n=0.5*m; if(m>110){ if(m<=210) n=0.5*110+0.55*(m-110); else
2
n=0.5*110+0.55*(210-110)+0.70*(m-210); } return n; }
int main () {
int a,b; double c;
scanf(\ for(b=0;b
scanf(\
printf(\ } return 0; }
(2)别人的
# include
double money(double x) { if(x>=100&&x<=110) return 0.5*x; if(x>110&&x<=210) return 0.5*110+0.55*(x-110); if(x>210) return 0.5*110+0.55*100+0.7*(x-210); }
int main () {
int a,b; double c;
scanf(\for(b=0;b
scanf(\
printf(\}
return 0; }
4计算某月天数
描述
3
每个月的1,3,5,7,8,10,12月有31天,4,6,9,11月有30天,闰年2月29天,其他年份2月28天,给定年份和月份求该月的天数 输入说明
多组数据,输入数据第一行为整数n(n<100),表示有几组数据数据,其后为n行,每行表示一组数据,每组数据由两个正整数a和b构成,a表示年份,b表示月份,a和b之间用空格分隔 输出说明
根据年份和月份计算该月天数并输出,每输出一个天数后换行 输入样例 3
2000 3 2011 5 2008 2 输出样例 31 31 29
程序问题:输入时年份和月份在同一行,按空格分开,不能按回车换行 1别人的
#include
void tianshu(int x,int y) {
if(y==1||y==3||y==5||y==7||y==8||y==10||y==12) printf(\ else if(y==4||y==6||y==9||y==11) printf(\ else if((x%4==0&&x0!=0||x@0==0)&&y==2) printf(\ else if(y==2) printf(\ }
int main()
4
{
int a,b,m,n; scanf(\ for (m=1;m<=n;++m) { scanf(\ tianshu(a,b); } return 0; } 2 自己的
#include 5计算整数各位数字之和 5 描述 假设n是一个由最多9位数字(d9, ?, d1)组成的正整数。编写一个程序计算n的每一位数字之和 输入说明 有多组数据,输入数据第1行为整数m(m<100),表示有多少组数据,其后一行m个正整数 输出说明 对每一个整数n输出它的各位数字之和后换行 输入样例 3 6 3704 170498 输出样例 6 14 29 1别人的 # include for(x=100000000;x>0;x=x/10) { y=a/x; a=a-y*x; sum+=y; } printf(\} int main() { int m,n,x; scanf(\ 6 for(n=1;n<=m;++n) { scanf(\ sum(x); } return 0; } 2自己的 #include 6完数 描述 请写一个程序,给出指定整数范围[a,b]内的所有完数,0 只有一组数据,即一行上的两个整数a和b,a和b之间用空格分隔 7 输出说明 输出[a,b]内的所有完数,每个数字占一行 输入样例 1 10 输出样例 6 1别人的 #include int sum=0; for(m=1;m if(n==sum)return 1; else return 0; } int main() { int m,n,i; scanf(\for(i=m;i<=n;++i){ if(wanshu(i)==1)printf(\} return 0; } 2自己的 #include 8 for(m=1;m # include scanf(\ for(x=a;x<=b;x++) { for(m=1;m 7最大公约数 描述 最大公约数(GCD)指某几个整数共有因子中最大的一个,最大公约数具有如下性质, gcd(a,0)=a gcd(a,1)=1 因此当两个数中有一个为0时,gcd是不为0的那个整数,当两个整数互质时最大公约数为 9 1。 定义函数:int gcd(int a,int b),返回两个参数的最大公约数。并写一个主函数调用该函数,实验各种输入参数情况。 输入说明 多组数据,每组数据由同一行的两个正整数a和b构成(0<=a,b<10000),a和b之间用空格分隔,当a和b都为0时表示输入结束 输出说明 对每组数据输出其最大公约数后换行 输入样例 2 4 12 6 3 5 0 0 输出样例 2 6 1 输入实例:2 4 12 6 3 5 0 0 #include int main() { int a,b; while(1)//也可写为for(; ;) { 10 12矩阵 描述 请写一个程序,对于一个m行m列(2 只有一组数据;输入数据的第一行为一个正整数,表示m;接下来为m行、每行m个整数表示方阵的元素。 输出说明 从大到小排列的一行整数,每个整数后跟一个空格,最后换行。 输入样例 4 15 8 -2 6 31 24 18 71 -3 -9 27 13 17 21 38 69 输出样例 159 145 144 135 81 60 44 32 28 27 #include for(i=0,j=0;i for(j=m-1,i=0;i 16 } for(i=2*m+1;i>=0;--i)printf(\ printf(\ return 0; } //自己做的排序,比较简单 for(i=1;i<=2*m+2;i++) { for(j=1;j<=2*m+2;j++) if(b[j-1] 13回文数 描述 若一个整数其各位数字按照正反顺序读完全相同,则称之为回文数,例如12321。判断给出的整数是否是回文数。若是,则输出该整数各位数字之和,否则输出no. 输入说明 输入包含多组数据,第一行为整数n表示有几组数据,其后为n行数据,每行一个整数。 输出说明 对每一个整数,若该整数为回文数,则输出整数各位数字之和,否则输出no,然后换行。 输入样例 2 131 24 输出样例 5 no 17 #include #include 18 sum=0; d=0; } return 0; } 14排序 描述 给定N个不同的整数,要求对这N个整数按如下规则排序并输出。 规则一:所有的偶数排在奇数前面。 规则二:在规则一的前提下按照从大到小的顺序排序。 输入说明 只有一组数据。数据由两行构成,第一行为整数n(n<=100),表示代排序整数的数量。第二行是n个整数,每个整数的取值区间都为[-32768~32767],整数之间以空格间隔。 输出说明 在一行输出排好序的整数,整数之间以空格间隔,然后换行。 输入样例 5 1 2 3 4 5 输出样例 4 2 5 3 1 #include if(m%2==0&&n%2!=0)return 0; else if(m%2!=0&&n%2==0)return 1; else if(m int main(){ int n,i,j,t,a[100]; scanf(\ for(i=0;i 19 for(i=1;i for(t=a[i],j=i-1;j>=0&&da(a[j],t);--j) a[j+1]=a[j]; if(j!=i-1)a[j+1]=t; } for(i=0;i 15拼数字 描述 对于给定的字符序列,从左至右将所有数字字符取出拼接成一个无符号整数(字符序列长度小于100,拼接出的整数小于2^31),计算并输出该整数的最大因子(如果是素数或0,则其最大因子为自身)。 输入说明 有多组数据;每组数据为一行字符序列,当输入一个空行时表示输入结束。 输出说明 对每个字符序列,求出所得整数的最大因子;若字符序列中没有数字或找出的整数为0,则输出0。每个整数占一行输出。 输入样例 sdf0ejg3.f?9f ?4afd0s&2d79*(g abcde 输出样例 13 857 0 #include 20 for(i=0;(c=a[i])!='\\0';++i){ if(isalpha(c)){ m=a[i];++i;c=a[i]; if(isdigit(c)){ for(n=0;isdigit(c)&&c!='\\0';c=a[i]){++i;n=10*n+(c-'0');} if(n>=3) for(j=0;j printf(\return 0; } 21括号匹配 描述 请写一个程序,判断给定表达式中的括号是否匹配。表达式中的合法括号为“(”、“)”、“[”、“]”、“{”、“}”,这三种括号可以按照任意的次序嵌套使用。 输入说明 有多个表达式,每个表达式占一行。当输入的表达式为空字符串(长度为0)时表示输入结束 输出说明 对每个表达式,若其中的括号是匹配的,则输出“yes”,否则输出“no”。 输入样例 [(d+f)*{}2] [(2+3)) ()} [4(6]7)9 输出样例 26 yes no no no 22 电话费 描述 随着电话日益普及,人与人之间的信息交流更方便快捷。请你为电话公司编写一个电话计费程序,用户每月每次通话情况记录在文件\中,文件中每次通话数据记录在一行,格式如下: 拨入或拨出标记 通话时长 1、拨入标记为\,表示外地用户呼叫本机,此时本机用户不需计费:拨出标记为\,表示本机呼叫外地用户,此时本机拥护需要记费。拨入和拨出标记均为大写字母。 2、通话时长以秒为单位,假定每次通话时间最短为1秒,最长不超过24小时。 通话计费规则为: 1、计算总时间为各次拨出通话时间总和,以3分钟为一个计算单位,不足3分钟的按3分钟计; 2、计费单价为每3分钟0.17元。 计算并输出该用户本月电话费用M(单位:元,精确到分)。 输入说明 输入来自于文本文件\,文件中每一行为一条通话记录 输出说明 输出总话费,以元为单位,精确到分,即保留两位小数 输入样例 OUT 362 IN 234 OUT 833 输出样例 1.19 #include char ch[10]; int s=0; 27 float ans; long time=0; freopen(\ while(scanf(\ { if(ch[0]=='O') { time+=s; } } time=((time/180)+1); ans=time*0.17; printf(\ return 0; } 28
正在阅读:
上机题及答案03-22
2019年支部主题党日活动方案02-25
2019年整理黄鳝的养殖技术及病害防治05-20
2019年企业管理知识练习题06-12
2019民主生活会发言提纲02-25
2019年整理--大学生个人先进材料02-27
2019年整理工程项目部管理流程05-22
2019年学校总务处年终工作总结02-27
2019年医养结合项目商业计划书05-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 上机
- 答案