初學C語言,請大神幫忙看下這題的編程結果為何不對?


uj5u.com熱心網友回復:
對照一下吧
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double m;
int c;
printf("輸入一個實數:\n");
scanf("%lf", &m);
while (1)
{
printf("********************\n");
printf("1.輸出相反數\n");
printf("2.輸出平方數\n");
printf("3.輸出平方根\n");
printf("4.退出\n");
printf("********************\n");
printf("輸入選項: ");
scanf("%d", &c);
switch (c)
{
case 1:
printf("%.2f的相反數是: %.2f\n", m, -m);
break;
case 2:
printf("%.2f的平方數是: %.2f\n", m, m * m);
break;
case 3:
printf("%.2f的平方根是: %.2f\n", m, sqrt(m));
break;
case 4:
printf("退出程式!\n");
exit(0);
break;
default:
printf("請輸入1-4之間的數!\n");
break;
}
}
system("pause");
return 0;
}
uj5u.com熱心網友回復:
第9行,scanf函式,錯了
#include <stdio.h>
#include <math.h>
int main(void)
{
int i;
float m;
int c = 5;
printf("輸入一個實數:\n");
scanf("%f", &m);
printf("*********************\n");
printf("1.輸入相反數\n");
printf("2.輸出平方數\n");
printf("3.輸出平方根\n") ;
printf("4.退出\n") ;
printf("*********************\n");
while(i <= 4){
scanf("%d", &c);
switch(c){
case 1:
printf("輸出相反數:%.2f\n", -m);
break;
case 2:
printf("輸出平方數:%.2f\n", m * m);
break;
case 3:
printf("輸出平方根:%.2f\n", sqrt(m));
break;
case 4:
printf("退出程式!\n");
break;
default:
printf("請輸入1~4之間的數字!\n");
}
if(c == 4){
break;
}
}
return 0;
}
uj5u.com熱心網友回復:
這句再完善一下,碰上負數時讓它輸出0,防止報錯
printf("%.2f的平方根是: %.2f\n", m,(m<0?0:sqrt(m)));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234569.html
標籤:C語言
下一篇:求助
