鱼C论坛

 找回密码
 立即注册
查看: 2923|回复: 9

[已解决]c咋这么弱智呢

[复制链接]
发表于 2011-10-13 19:37:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 for 于 2011-10-14 07:34 编辑

# include <stdio.h>
# include <conio.h>
# define PI 3.1415926
int main ()
{
printf ("本例要求用户输入圆的直径,计算圆的周长和面积\n");
printf ("请输入圆的直径并回车,退出请按n\n");
double zhi_jing ; //直径变量
do
{
scanf ("%lf",&zhi_jing);
double zhou_chang; //周长变量
double mian_ji; //面积变量
mian_ji = PI * (zhi_jing / 2)*(zhi_jing / 2); //计算公式

zhou_chang = PI * zhi_jing;
printf ("面积等于%lf,周长等于%lf\n",mian_ji,zhou_chang);



}while (不知道怎样写);
getch();
return 0;


}
//退不出while循环,如果用户输入的是int型的也不行,要加小数点,郁闷啊,c咋就这么弱智勒!!!!!!!不知道换成cin行不行
最佳答案
2011-10-13 20:27:46
C只是一个工具,而且也是一个很强大的工具,工具所做成的事主要还是与使用者有关,自己能力不行不要怪其他的东西.多的话我不想说了,以后像这种惹人怒的话最好是不要乱写.
  1. #include < stdio.h >

  2. #define PI 3.1415926

  3. int main( int argc, char** argv )
  4. {
  5.         double radius, circle, area;        //半径, 周长, 面积

  6.         while( 1 )
  7.         {
  8.                 printf( "您要计算圆面积吗?(Y/N)\n" );
  9.                 fflush( stdin );
  10.                 char ch = getchar( );

  11.                 if( ch == 'Y' || ch == 'y' )
  12.                 {
  13.                         printf( "请输入圆半径:\n" );
  14.                         scanf( "%lf", &radius );

  15.                         circle = PI * radius * 2;
  16.                         area = PI * radius * radius;

  17.                         printf( "周长: %lf \n", circle );
  18.                         printf( "面积: %lf \n", area );
  19.                 }
  20.                 else
  21.                 {
  22.                         break;
  23.                 }

  24.                 printf( "\n" );
  25.         }

  26.         return 0;
  27. }
复制代码
代码我给你贴出来了,自己好好反省一下自己的问题....
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-13 19:48:16 | 显示全部楼层
你是计算圆的面积和周长吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-13 20:27:46 | 显示全部楼层    本楼为最佳答案   
C只是一个工具,而且也是一个很强大的工具,工具所做成的事主要还是与使用者有关,自己能力不行不要怪其他的东西.多的话我不想说了,以后像这种惹人怒的话最好是不要乱写.
  1. #include < stdio.h >

  2. #define PI 3.1415926

  3. int main( int argc, char** argv )
  4. {
  5.         double radius, circle, area;        //半径, 周长, 面积

  6.         while( 1 )
  7.         {
  8.                 printf( "您要计算圆面积吗?(Y/N)\n" );
  9.                 fflush( stdin );
  10.                 char ch = getchar( );

  11.                 if( ch == 'Y' || ch == 'y' )
  12.                 {
  13.                         printf( "请输入圆半径:\n" );
  14.                         scanf( "%lf", &radius );

  15.                         circle = PI * radius * 2;
  16.                         area = PI * radius * radius;

  17.                         printf( "周长: %lf \n", circle );
  18.                         printf( "面积: %lf \n", area );
  19.                 }
  20.                 else
  21.                 {
  22.                         break;
  23.                 }

  24.                 printf( "\n" );
  25.         }

  26.         return 0;
  27. }
复制代码
代码我给你贴出来了,自己好好反省一下自己的问题....
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-13 20:28:05 | 显示全部楼层
# include <stdio.h>
# include <conio.h>
# define PI 3.1415926
int main ()
{
        printf ("本例要求用户输入圆的直径,计算圆的周长和面积\n");
        printf ("请输入圆的直径并回车,退出请按数字0\n");
        while (1)
        {               
                double zhi_jing ;    //直径变量
                double chou_chang;   //周长变量
                double mian_ji;      //面积变量
       
                scanf ("%lf",&zhi_jing);  //输入
               
                if (0 == zhi_jing)     //退出条件
                        break;
                else     //计算
                {
                        chou_chang = PI * zhi_jing;
                        mian_ji = PI * (zhi_jing / 2) * (zhi_jing / 2);
                        printf ("面积等于%lf\n周长等于%lf\n",mian_ji,chou_chang);
                }



        }

        getch();
        return 0;
       

}改了一下,好像可以,但是不能用字母退出
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-13 20:30:18 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-13 20:34:36 | 显示全部楼层
for 发表于 2011-10-13 20:30
看看我改的怎样,原来那个do while 不正确

如果是计算周长和面积,我感觉没必要用循环,还有变量声明不要放在循环内,声明一般放在main()函数里面开头。全局的话你可以放在include的下面
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-13 20:46:25 | 显示全部楼层
故乡的风 发表于 2011-10-13 20:27
C只是一个工具,而且也是一个很强大的工具,工具所做成的事主要还是与使用者有关,自己能力不行不要怪其他的东 ...

谢谢,懂了
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-13 20:53:38 | 显示全部楼层
本帖最后由 for 于 2011-10-13 20:54 编辑
crazylinux 发表于 2011-10-13 20:34
如果是计算周长和面积,我感觉没必要用循环,还有变量声明不要放在循环内,声明一般放在main()函数里面 ...


那变量为什么不要放在循环里面呢?好像有本书说这样可以节约内存
谢谢 谢谢,我是个新手
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-13 21:06:30 | 显示全部楼层
for 发表于 2011-10-13 20:53
那变量为什么不要放在循环里面呢?好像有本书说这样可以节约内存
谢谢 谢谢,我是个新手

客气了,谁都是从新手走过来的,为什么不能放在循环里,是因为编程规范的原因,你可以在网上找下编程规范,里面有代码的书写的正确方式。这个很重要的,代码写的乱糟糟的,到时候写的代码多了找错误也不好找。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-14 10:49:25 | 显示全部楼层
for 发表于 2011-10-13 20:53
那变量为什么不要放在循环里面呢?好像有本书说这样可以节约内存
谢谢 谢谢,我是个新手

你可以想下,如果把变量放在循环中,每次都要声明并且赋值,那是多么麻烦的事(对机器而言)。。
优化就这样来的。

OK。。 说得不对的地方还请包涵。。。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-8 23:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表