教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

c语言上机编程题

来源:网络收集 时间:2026-10-05
导读: 北理工c语言编程题 :计算时钟的夹角、求解一元二次方程、分数的四则运算、百马百担、零钱换整钱、找出最大素数······ 3 计算时钟的夹角 背景: 钟面上的时针和分针之间的夹角总是在 ~之间 ( 包括 和 ) 。举例来说,在十二点的时候两针之间的夹角为 ,

北理工c语言编程题 :计算时钟的夹角、求解一元二次方程、分数的四则运算、百马百担、零钱换整钱、找出最大素数······

3 计算时钟的夹角

背景: 钟面上的时针和分针之间的夹角总是在 ~之间 ( 包括 和 ) 。举例来说,在十二点的时候两针之间的夹角为 ,而在六点的时候夹角为 ,在三点的时候为 。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。 输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。 输出: 对应每组测试数据,用常用格式显示时间以及

这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。 main() {int Hour,Minate; float Corner; scanf("%d%d",&Hour,&Minate); Corner=30*Hour-5.5*Minate; if(Corner>180) Corner=360-Corner; if(Corner<0) Corner=-Corner; printf("At %d:%02d the angle is %.1f degrees.",Hour,Minate,Corner); } 5 求解一元二次方程 初中的时候我们就会求解一元二次方程了,下面让我

们来教计算机如何求解。输入 a,b,c ,就一元二次方

程 ax²+bx+c=0 的根。

输入:假设 a,b,c均int。

输出:要求输出的根为 double 型,保留 6 位小数。

#include "stdio.h" #include "math.h" main() {int a,b,c,a2; double x1,x2,q; scanf("%d%d%d",&a,&b,&c); q=b*b-4*a*c; a2=2*a; if(a==0) { if(b==0) printf("Input error!\n"); else printf("x=%.6f\n",-c*1.0/b); } elseif(q>0) printf("x1=%.6f\nx2=%.6f\n",(-b+sqrt(q))/a2,(-b-sqrt(q))/a2); else if(q==0)

printf("x1=x2=%.6f\n",-b*1.0/a2); else if(q<0) {if(b==0)

printf("x1=%.6fi\nx2=%.6fi\n",sqrt(-q)/a2,-sqrt(-q)/a2); else

printf("x1=%.6f+%.6fi\nx2=%.6f-%.6fi",-b*1.0/a2,sqrt(-q)/a2,-1.0*b/a2,sqrt(-q)/a2); } }

9 分数的四则运算

在小学时我们就学习了分数的四则运算,即对两个分数进行加、减、乘、除等运算,现在我们尝试下用C语言来实现。 输入:分数1 操作符 分数2 输出:计算结果 要求:计算结果使用分数表示,并且为最简化。例如结果为2/6,则被简化为1/3 #include <stdio.h> #include <math.h> main() { int fm1,fm2,fz1,fz2,FM,FZ,m,n,r;

char ch;

scanf("%d/%d %c %d/%d",&fz1,&fm1,&ch,&fz2,&fm2);

switch(ch) {case '+' :{FM=fm1*fm2,FZ=fz1*fm2+fz2*fm1;}break; case '-' :{FM=fm1*fm2,FZ=fz1*fm2-fz2*fm1;}break; case '*' :{FM=fm1*fm2,FZ=fz1*fz2;}break; default :{FM=fm1*fz2,FZ=fz1*fm2;}break; } if(FZ==0) printf("%d/%d %c %d/%d = 0",fz1,fm1,ch,fz2,fm2); else { m=FM; n=FZ; r=m%n; while(r!=0) {m=n; n=r; r=m%n; } FZ=FZ/n; FM=FM/n; if(FM<0) printf("%d/%d %c %d/%d = %d/%d",fz1,fm1,ch,fz2,fm2,-FZ,-FM); else if(FM==1) printf("%d/%d %c %d/%d = %d",fz1,fm1,ch,fz2,fm2,FZ); else printf("%d/%d %c %d/%d = %d/%d",fz1,fm1,ch,fz2,fm2,FZ,FM); } }

北理工c语言编程题 :计算时钟的夹角、求解一元二次方程、分数的四则运算、百马百担、零钱换整钱、找出最大素数······

11 百马百担

有100匹马,驮100担货,其中大马驮3担,中马驮2担,两匹小马驮1担 输入:无

输出:大、中、小马的个数,用逗号分隔。例如:2,30,68

说明:大、中、小马都必须有,结果中要列出所有的组合可能每个结果占一行 因为有多个结果,结果的排序按照大马的个数从少到多

1. #include<stdio.h> 2. int main() 3. {int i,j,k;

4. for(i=1;i<=100;i++) 5. {for(j=1;j<=100-i;j++) 6. {k=100-i-j;

7. if((3*i+2*j+k/2.0)==100) 8. printf("%d,%d,%d\n",i,j,k); 9. } } }

12 零钱换整钱

小明去银行存钱,拿了一堆硬币。已知 1 角的硬币厚度为 1.8mm , 5 角的硬币厚 1.5mm , 1 元的硬币为 2.0mm 。小明将 1 角的硬币放成一摞,将 5 角的硬币硬币放成一摞,将 1 元的硬币放成一摞,发现 3 摞硬币一样高。银行正好把这些硬币换成若干张面值为 10 元的纸币。问小明至少带了多少钱的硬币(元为单位),每种面值的硬币有多少个? 输入: 无

输出:1 角的数量,5 角的数量,1元的数量,总金额。(例如:20,30,40,50)

说明:在结果中只输出各个对应的数字即可 1. #include<stdio.h> 2. int main() 3. {int yijiao; 4. int wujiao; 5. int yiyuan; 6. int sum;

7. for(yiyuan=0;yiyuan<100;yiyuan++) 8. {for(wujiao=0;wujiao<100;wujiao++) 9. {for(yijiao=0;yijiao<100;yijiao++ 10. {sum=yijiao+wujiao*5+yiyuan*10; 11. if((sum>=100)&&(sum%100==0)&&(18*yij

iao==15*wujiao)&&(15*wujiao==20*yiyuan))

12. {printf("%d,%d,%d,%d\n",yijiao,w

ujiao,yiyuan,sum/10); 13. break; 14. } } } } }

13 找出最大素数

素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。 输入:取值范围 100

输出:该范围内的最大素数 The max prime number is 97. 1. #include<stdio.h> 2. int sushu(int m) 3. {int i;

4. for( i=2;i<m;i++) 5. {if(m%i==0)break; 6. }

7. if(i==m)return 1; 8. else return 0; 9. } 10. int main() 11. {int n; 12. scanf("%d",&n); 13. for(int i=n;i>1;i--) 14. {if(sushu(i)) 15. {printf("The max prime number is %

d.\n",i); 16. break; 17. } } }

…… 此处隐藏:1524字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言上机编程题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1986452.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)