C语言程序设计练习题(教学习题)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.计算圆柱的侧面积及体积
#define PI 3.1415926
int main(void)
{
double r,s,h,v;
scanf("%lf\n%lf",&r,&h);
s=2*PI*r*h;
v=PI*r*r*h;
printf("s=%.2f,v=%.2f\n",s,v);
getch();
}wk.baidu.com
2.求4个正整数中的最大数
时钟夹角计算公式|30h-5.5m|,h为时针,m为分针。求浮点型绝对值的函数为fabs,需要包含math.h头文件。
#include <stdio.h>
#include <math.h>
int main (void)
{
int h,m;
float a;
scanf("%d %d",&h,&m);
a=fabs(30*h-5.5*m);
每组测试数据包含两个数字:第一个数字代表小时(大于等于0小于12),第二个数字代表分(在区间[0, 59]上)。
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。
以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。
int main (void)
{
int x;
scanf("%d",&x);
printf("x=%d\n",x);
printf("x=%o\n",x);
printf("x=%x\n",x);
}
5.找零钱
假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。试编写一个程序,输入的是要找给顾客的零钱(分别输入角、分),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n%d\n%d\n%d\n%d\n",a/5,a%5,b/5,b%5/2,b%5%2);
}
6.计算时钟的夹角
钟面上的时针和分针之间的夹角总是在0度~ 359度之间。举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180度,在三点的时候为90度。本题要解决的是计算0:00到12:00之间任意一个时间的夹角。
printf("%d\n",m);
}
3.两个整数之间的运算
#include <stdio.h>
int main (void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
printf("%d/%d=%d\n",a,b,a/b);
printf("%d%%%d=%d\n",a,b,a%b);
}
4.整型变量的十进制、八进制和十六进制
输入整型变量x的值,输出整型变量x对应的十进制、八进制和十六进制形式
#include <stdio.h>
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a=b=c) printf("equilateral triangle\n");
if(a=)
}
if (m<10)
printf("At %d:0%d the angle is %.1fdegrees.\n",h,m,a);
else
printf("At %d:%d the angle is %.1fdegrees.\n",h,m,a);
}
7.分段函数
有一分段函数,y=f(x)。当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9。从键盘上输入一个整数x,输出对应的y值。
#include <stdio.h>
int main (void)
{
int x,y;
scanf("%d",&x);
if(x<6) y=x-12;
else if(x<15) y=3*x-1;
else y=5*x+9;
printf("%d\n",y);
}
#include <stdio.h>
int main (void)
#include <stdio.h>
int max (int x,int y)
{ return (x>y?x:y);
}
int main (void)
{ int a,b,c,d,m;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
m=max(a,b);
m=max(m,c);
m=max(m,d);
#define PI 3.1415926
int main(void)
{
double r,s,h,v;
scanf("%lf\n%lf",&r,&h);
s=2*PI*r*h;
v=PI*r*r*h;
printf("s=%.2f,v=%.2f\n",s,v);
getch();
}wk.baidu.com
2.求4个正整数中的最大数
时钟夹角计算公式|30h-5.5m|,h为时针,m为分针。求浮点型绝对值的函数为fabs,需要包含math.h头文件。
#include <stdio.h>
#include <math.h>
int main (void)
{
int h,m;
float a;
scanf("%d %d",&h,&m);
a=fabs(30*h-5.5*m);
每组测试数据包含两个数字:第一个数字代表小时(大于等于0小于12),第二个数字代表分(在区间[0, 59]上)。
对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。
以表中心到12点的连线为基准,分针每走1分钟是6度,时针与基准的夹角每个小时也是30度,从整点开始,每过1分钟时针再增加0.5度。
int main (void)
{
int x;
scanf("%d",&x);
printf("x=%d\n",x);
printf("x=%o\n",x);
printf("x=%x\n",x);
}
5.找零钱
假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。试编写一个程序,输入的是要找给顾客的零钱(分别输入角、分),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n%d\n%d\n%d\n%d\n",a/5,a%5,b/5,b%5/2,b%5%2);
}
6.计算时钟的夹角
钟面上的时针和分针之间的夹角总是在0度~ 359度之间。举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180度,在三点的时候为90度。本题要解决的是计算0:00到12:00之间任意一个时间的夹角。
printf("%d\n",m);
}
3.两个整数之间的运算
#include <stdio.h>
int main (void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
printf("%d/%d=%d\n",a,b,a/b);
printf("%d%%%d=%d\n",a,b,a%b);
}
4.整型变量的十进制、八进制和十六进制
输入整型变量x的值,输出整型变量x对应的十进制、八进制和十六进制形式
#include <stdio.h>
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a=b=c) printf("equilateral triangle\n");
if(a=)
}
if (m<10)
printf("At %d:0%d the angle is %.1fdegrees.\n",h,m,a);
else
printf("At %d:%d the angle is %.1fdegrees.\n",h,m,a);
}
7.分段函数
有一分段函数,y=f(x)。当x小于6时,y=x-12;当x大于等于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9。从键盘上输入一个整数x,输出对应的y值。
#include <stdio.h>
int main (void)
{
int x,y;
scanf("%d",&x);
if(x<6) y=x-12;
else if(x<15) y=3*x-1;
else y=5*x+9;
printf("%d\n",y);
}
#include <stdio.h>
int main (void)
#include <stdio.h>
int max (int x,int y)
{ return (x>y?x:y);
}
int main (void)
{ int a,b,c,d,m;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
m=max(a,b);
m=max(m,c);
m=max(m,d);