几道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


...全文
66 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
c语言实现单片机的键盘程序 #include "SST89x5x4.H" #include #define uchar unsigned char #define uint unsigned int #define _Nop() _nop_() unsigned char code Key_Value_Table[16]={0xff,0x00,0x01,0xff,0x02,0xff,0xff,0xff, 0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; void Key_Init(void); unsigned char GetScanKey(void); unsigned char GetKey(void); void LCD_Init(void); void LCD_Init2(void); //void WriteW(uint a); void CheckBF(void); unsigned char Key_ASC2(unsigned char); void WritD(unsigned char); void Delay_ns(int i); void Delay_ms(int ms); unsigned char key; unsigned char key_asc2; unsigned char bKeyUp_Flag; uchar xdata *ptr; //函数功能描述:键盘初始化,将标志位置1; void Key_Init(void) { bKeyUp_Flag=1;//标志(全局变量)位置1 } //函数功能描述:键盘扫描函数,得到键的行列位置; unsigned char GetScanKey(void) { unsigned char key, i, temp; unsigned char xdata * ptr; key=0xff; for (i=1; i<0x10; i<<=1) //i的低4位为行数位,行依次检测 循环4次 { ptr=0x8fff; //数码管位选地址 * ptr =i; temp = * ptr; //取键盘IO口的值 temp &= 0x0f; //屏蔽高四位 if (temp!=0x00) //是否有有效键值 { key = i<<4; //取行数位的值并将其放入返回值高4位 key|=temp; //列数位的值放入返回值低4位 break; } } return key; //返回行位(高四)和列位(低四) } /*函数功能描述:取键值,长按无效; unsigned char code Key_Value_Table[16]={0xff,0x00,0x01,0xff,0x02,0xff,0xff,0xff, 0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; 说明:计算因子,定义在函数外部。此数组在计算键值的中间过程起作用。比如右下方键按下(行列值为0x88),通过查找数组得到行对应的中间值0x03,列对应的中间值0x03。 */ unsigned char GetKey(void) { unsigned char key, temp; if (!bKeyUp_Flag) //判断标志,是0执行 /*按键程序执行一次后会将bKeyUp_Flag标志位清零,执行此段程序,长按键无效返回无效值,直至按键无效返回无效按键值,置"1"标志位。按键输入恢复有效。屏蔽这部分则长按键有效*/ { key=GetScanKey(); if (key==0xff) //没有按键,置标志位 bKeyUp_Flag=1; else //保持按键 return 0xff; //因为0xff大于15,故为无效键值,实现长按键无效 } key=GetScanKey(); if (key==0xff) //没有按键 return key; else //有按键有效 temp=key; //取键值 Delay_ms(20); //延时20ms 消抖 key=GetScanKey(); //键盘扫描 if(key!=temp) //判断两次键值是否相同,排除干扰信号影响 确认有效信号 { key=0xff; return key; }

70,034

社区成员

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

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