几道C题。不知道有没有错的,列位大虾看看

咔嚓个大泥坑 2003-05-21 01:36:56
1: 输入两个正整数m和n,求其最大公约数和最小公倍数。

/*未编译*/
/*main.c*/
void main()
{
int m,n,div,mul,i;
printf("\n请输入这两个数(用逗号分隔):");
if(scanf("%d,%d",&m,&n) != 2 || m <= 0 || n <= 0)
{
printf("\n输入错误!");
exit();
}
for(div=1,mul=1,i=1;i<m*n;i++)
{
if(!(m%i) && !(n%i))/*公约数*/
div = i;
if(!(i%m) && !(i%n))/*公倍数*/
{
mul = i;
break;
}
}
printf("\n最大公约数是%d,最小公倍数是%d",div,mul);
}

2:给出以百分制的成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。90分以上为‘A’,80~89分为‘B’

,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。

/*未编译*/
/*main.c*/
void main()
{
int score;
printf("\n请输入成绩:");
if(scanf("%d",&scroe) != 1 || score < 0 || score > 100)
{
printf("\n输入错误!");
exit();
}
if(score >= 90)
printf("\n等级A!");
else if(score >= 80)
printf("\n等级B!");
else if(score >= 70)
printf("\n等级C!");
else if(score >= 60)
printf("\n等级D!");
else
printf("\n等级E!");
}

3:设圆半径r=1.5,圆柱高h=3,求圆周长 圆面积 圆球表面积 圆球体积 圆柱体积。用scanf输入数据,输出

计算结果,输出时要求有文字说明,取小数点后两位数字。请编程。

/*不知道我理解的对不对r和h都不是固定值,通过scanf输入。靠,什么破题一堆数学公式*/
/*未编译*/
/*main.c*/
#define PI 3.14159265
void main()
{
double r,h;
printf("\n请输入半径和圆柱高(用逗号分隔):");
if(scanf("%f,%f",&r,&h) != 2 || r < 0 || h < 0)
{
printf("\n输入错误!");
exit();
}
printf("\n圆周长:%.2f",2*PI*r);
printf("\n圆面积:%.2f",PI*r*r);
printf("\n圆球表面积:%.2f",4*PI*r*r);
printf("\n圆球体积:%.2f",4.0/3.0*PI*r*r*r);
printf("\n圆柱体积:%.2f",PI*r*r*h);
}


4:输入一个华氏温度,要求输出摄氏温度。公式为 c=5/9 (F-32)
输出要有文字说明,取2位小数。

/*未编译*/
/*main.c*/
void main()
{
double f;
printf("\n请输入华氏温度:");
if(scanf("%f",&f) != 1)
{
printf("\n输入错误!");
exit();
}
printf("\n摄氏温度:%.2f",5.0/9.0*(f-32));
}


5:写出运行结果。
main( )
{int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}

9,11,9,10

6:写出下面表达式运算后a的值,设原来a=12.设a和n一定以为整形变量。
(1)a+ = a (2)a- = 2 (3)a* =2+3
(4)a/=a+a (5)a%=(n%=2),n的值等于5
(6)a+ =a- =a* = a

(1)24 (2)10 (3)60 (4)0 (5)0 (6)-120


...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
咔嚓个大泥坑 2003-05-21
  • 打赏
  • 举报
回复
非常感谢!
arfi 2003-05-21
  • 打赏
  • 举报
回复
1,3,4中都有scanf("%d,%d", &n1, &n2);的形式,这样的输入数的时候得用','来间隔两个数,建议写为scanf("%d%d", &n1, &n2);

1中的循环for(div=1,mul=1,i=1;i<m*n;i++)应该为
for(div=1,mul=1,i=1;i<=m*n;i++)
arfi 2003-05-21
  • 打赏
  • 举报
回复
4:如果你定义的是double型变量,则应该用scanf("%lf", &f);来接收,否则会出错。
arfi 2003-05-21
  • 打赏
  • 举报
回复
6: (6)0

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧