栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

一点运算题目

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一点运算题目

在本实例中,使用条件运算符和逻辑运算符构造表达式,通过输出函数显示表达式的结果,根据结果分析表达式的计算过程。

#include

int main()

{

       int m=2,n=3,a=1,b=2;                   

       int x,y;                               

       x=(m=a>b)&&(n=a

       printf("x=%d,m=%d,n=%dn",x,m,n);   

       y=(m=a>b)||(n=a

       printf("y=%d,m=%d,n=%dn",y,m,n);               

       return 0;                           

}

编程实现,输入两个整数,输出这两个数中较大的数

例题分析

可定义三个变量(a,b和max)用来存放输入的两个整数和较大数。从键盘输入两个整数,首先假设a是较大数,将a的值赋给max,然后使用if语句进行条件判断,如果a小于b,则b为较大数,即将b的值赋给max。

#include

int main()

{

       int a,b,max;                              

       printf("请输入两个整数:");                     

       scanf("%d%d",&a,&b);                            

       max=a;                                    

       if(a

              max=b;

       printf("两数中较大的数为:%dn",max);                  

       return 0;                                  

}

编程实现,输入两个整数,输出这两个数中较大的数(用if-else语句实现)。

问题分析

本实例的功能与例5-2相同,都是求两数中较大数。使用if-else语句进行条件判断,如果a大于b,则a为较大数,输出a的值,否则b为较大数,输出b的值。、

#include

int main()

{

       int a,b;                                     

       printf("请输入两个整数:");                     

       scanf("%d%d",&a,&b);                     

       if(a>b)                                     

              printf("max=%dn",a);

       else                                  

              printf("max=%dn",b);             

       return 0;                                  

}

编写程序,要求输入三角形的三条边,计算三角形的面积并输出。

问题分析

在例4-7中我们实现了求解三角形面积的程序,但还有两个隐含的问题存在:一是输入的三个数都必须大于0,否则无意义;二是输入的三个数必须满足两数之和大于第三个数,否则构不成三角形,即也是无意义的。所以我们需要先判断三条边是否都大于0并且任意两边之和是否大于第三边,如果满足条件,可以构成三角形,然后再计算三角形的面积,否则不进行计算并输出提示信息。

#include

#include                                       

int main()

{

       float a,b,c,s,area;                            

       printf("请输入三角形三条边:n");                  

       scanf("a=%f,b=%f,c=%f",&a,&b,&c);              

       if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)

       {

              s=(a+b+c)/2;                          

              area=sqrt(s*(s-a)*(s-b)*(s-c));       

              printf("area=%fn",area);                

       }

       else                                                               

              printf("输入的三条边不能构成三角形n");    

       return 0;                                  

}

学生成绩可分为百分制和五级制,根据输入的百分制成绩score,转换成相应的五级制成绩后输出,百分制与五级制的对应关系如表所示。

问题分析

#include

int main()

{

       int score;

       printf("请输入成绩:");              

       scanf("%d",&score);                 

       if(score>100||score<0)                   

              printf("输入数据无意义n");

       else if(score>=90)                          

              printf("优n");

       else if(score>=80)                          

printf("良n");

       else if(score>=70)                       

              printf("中n");

       else if(score>=60)                               

              printf("及格n");

       else                               

              printf("不及格n");

       return 0;

}

编程实现,从键盘上输入1~12之间的数字时,显示对应月份,当输入数字不在1~12的范围内时,输出“错误!”。

问题分析

这是一道典型的可以利用多分支选择语句的题目,可以定义整型变量a,使用switch语句判断整型变量a的值,利用case语句检验a值的不同情况;如果a的值不是case中所检验列出的情况,那么利用default语句输出“Error!”。

#include

int main()

{

       int a;                                 

       printf("Please enter an integer :");        

       scanf("%d",&a);                        

       switch(a)                          

       {

       case 1:printf("Januaryn");break;          

       case 2:printf("Februaryn");break;        

       case 3:printf("Marchn");break;            

       case 4:printf("April n");break;       

case 5:printf("Mayn");break;             

       case 6:printf("Junen");break;            

       case 7:printf("Julyn");break;             

       case 8:printf("Augustn");break;               

       case 9:printf("Septembern");break;                       

       case 10:printf("Octobern");break;            

       case 11:printf("Novembern");break;              

       case 12:printf("Decembern");break;                      

       default:printf("Error!n"); break;               

       }

使用switch语句实现例5-5中百分制与等级制的转换。

问题分析

定义整型变量score,先用if语句判断数值是否在0~100之间,如果是,就使用switch语句判断score/10的值,利用case语句检验score/10值的不同情况,并输出相关等级;否则输出错误提示信息。

#include

int main()

{

       int score;

       printf("Please enter score:");                 

       scanf("%d",&score);                        

       if(score>100||score<0)

              printf("输入数据无意义!n");        

       else

       switch(score/10)

       {

              case 10:

              case 9:printf("优n");break;                   

case 8:printf("良n");break;                   

              case 7:printf("中n");break;                   

              case 6:printf("及格n");break;         

              case 5:

              case 4:

              case 3:

              case 2:

              case 1:

              case 0:printf("不及格n");break;            

       }

       return 0;

}

编程实现,根据任一年的公元年号,判断该年是否是闰年。

#include

int main()

{

      int year,leap;                      

      printf("请输入年号:");                        

      scanf("%d",&year);               

      if(year%4==0)                    

      {

            if(year%100==0)                   

            {

                  if(year%400==0)              

                       leap=1;      

                  else

                       leap=0;      

                     }

            else

                  leap=1;            

      }

      else

            leap=0;                 

      if(leap)                        

            printf("%d 是闰年n",year);

      else                       

            printf("%d 不是闰年n",year);

      return 0;

}

某加油站有89号、92号和95号三种汽油,售价分别为5.88、6.28、6.68(元/升),提供了“加油员加油”或“自助加油”两个服务等级,这样用户可以得到2%或5%的优惠。试编程实现针对用户输入加油量x,汽油的品种y和服务的类型z,输出用户应付的金额。

问题分析

本例题最终要根据所输入的汽油类型和服务等级来计算应付的金额,应付金额=单价*数量*(1-折扣数),因此,问题的关键在于要根据汽油类型确定单价和根据服务类型确定折扣。

本例可用switch语句进行多分支选择,程序流程图如图所示,首先输入x、y和z的值,根据输入的y值判断选择的是哪种类型的汽油,如输入的是a即为89号汽油,将单价值5.88赋给变量m1,以此类推;随后用同样的方法根据输入的z值判断是哪种服务等级;最后计算出总金额后输出。

#include

int main()

{

       float x,m1,m2,m;                                       

       char y,z;                                             

       printf("输入要加哪种类型的汽油,a代表89号,b代表92号,c代表95号n");

       scanf("%c",&y);                            

       getchar();                     

       printf("输入进行哪种加油服务,m代表加油员加油,e代表自助加油n");

       scanf("%c",&z);                     

       getchar();                     

       printf("输入要加油的数量n");

scanf("%f", &x);                                         

       switch(y)                            

       {

       case 'a':m1=5.88;break;             

       case 'b':m1=6.28;break;             

       case 'c':m1=6.68;break;             

       }

       switch(z)                            

       {

       case 'm':m2=0.02;break;                   

       case 'e':m2=0.05;break;             

       }

       m=x*m1*(1-m2);                     

       printf("花费的金额:%.2fn",m);                  

       return 0;

}

求ax2+bx+c=0方程的解。

一元二次方程求解主要有以下几种情况。

(1)当a=0时,不是一元二次方程,为一元一次方程,x的值为-c/b。

(2)当b2-4ac=0时,有两个相等的实数根,x的值为x=-b/(2*a)。

(3)当b2-4ac>0时,有两个不等的实数根,分别是 。

(4)当b2-4ac<0时,有两个共轭复数根。可以用p+qi和p-qi的形式输出复数根,其中,p=-b/(2*a),q=          

#include

#include

int main()

{

        double a,b,c,disc,x,x1,x2,p,q;

        printf("请输入一元二次方程中a,b,c的值用逗号隔开n");

        scanf("%lf,%lf,%lf",&a,&b,&c);     

        if(a==0)                     

      {

          x=-c/b;

          printf("该方程为一元一次方程,x=%8.4fn",x);

      }

      else                 

{

              disc=b*b-4*a*c;               

              if(disc==0)                 

              {

            x=-b/(2*a);

            printf("该方程有两个相同的根,即x=%8.4fn",x);

               }

               else                   

            if(disc>0)               

            {

                  x1=(-b+sqrt(disc))/(2*a);

                  x2=(-b-sqrt(disc))/(2*a);

                  printf("该方程有两个实数根:%8.4f和%8.4fn",x1,x2);

            }

            else                 

                 

              {

                            p=-b/(2*a);

                            q=sqrt(-disc)/(2*a);

                            printf("该方程有两个共轭复数根,分别为:n");

                            printf("%8.4f+%8.4fin",p,q);

                            printf("%8.4f-%8.4fin",p,q);

                     }

       }

       return 0;

}

在本实例中,使用条件运算符和逻辑运算符构造表达式,通过输出函数显示表达式的结果,根据结果分析表达式的计算过程。

#include

int main()

{

       int m=2,n=3,a=1,b=2;                   

       int x,y;                               

       x=(m=a>b)&&(n=a

       printf("x=%d,m=%d,n=%dn",x,m,n);   

       y=(m=a>b)||(n=a

       printf("y=%d,m=%d,n=%dn",y,m,n);               

       return 0;                           

}

编程实现,输入两个整数,输出这两个数中较大的数

例题分析

可定义三个变量(a,b和max)用来存放输入的两个整数和较大数。从键盘输入两个整数,首先假设a是较大数,将a的值赋给max,然后使用if语句进行条件判断,如果a小于b,则b为较大数,即将b的值赋给max。

#include

int main()

{

       int a,b,max;                              

       printf("请输入两个整数:");                     

       scanf("%d%d",&a,&b);                            

       max=a;                                    

       if(a

              max=b;

       printf("两数中较大的数为:%dn",max);                  

       return 0;                                  

}

编程实现,输入两个整数,输出这两个数中较大的数(用if-else语句实现)。

问题分析

本实例的功能与例5-2相同,都是求两数中较大数。使用if-else语句进行条件判断,如果a大于b,则a为较大数,输出a的值,否则b为较大数,输出b的值。、

#include

int main()

{

       int a,b;                                     

       printf("请输入两个整数:");                     

       scanf("%d%d",&a,&b);                     

       if(a>b)                                     

              printf("max=%dn",a);

       else                                  

              printf("max=%dn",b);             

       return 0;                                  

}

编写程序,要求输入三角形的三条边,计算三角形的面积并输出。

问题分析

在例4-7中我们实现了求解三角形面积的程序,但还有两个隐含的问题存在:一是输入的三个数都必须大于0,否则无意义;二是输入的三个数必须满足两数之和大于第三个数,否则构不成三角形,即也是无意义的。所以我们需要先判断三条边是否都大于0并且任意两边之和是否大于第三边,如果满足条件,可以构成三角形,然后再计算三角形的面积,否则不进行计算并输出提示信息。

#include

#include                                       

int main()

{

       float a,b,c,s,area;                            

       printf("请输入三角形三条边:n");                  

       scanf("a=%f,b=%f,c=%f",&a,&b,&c);              

       if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)

       {

              s=(a+b+c)/2;                          

              area=sqrt(s*(s-a)*(s-b)*(s-c));       

              printf("area=%fn",area);                

       }

       else                                                               

              printf("输入的三条边不能构成三角形n");    

       return 0;                                  

}

学生成绩可分为百分制和五级制,根据输入的百分制成绩score,转换成相应的五级制成绩后输出,百分制与五级制的对应关系如表所示。

问题分析

#include

int main()

{

       int score;

       printf("请输入成绩:");              

       scanf("%d",&score);                 

       if(score>100||score<0)                   

              printf("输入数据无意义n");

       else if(score>=90)                          

              printf("优n");

       else if(score>=80)                          

printf("良n");

       else if(score>=70)                       

              printf("中n");

       else if(score>=60)                               

              printf("及格n");

       else                               

              printf("不及格n");

       return 0;

}

编程实现,从键盘上输入1~12之间的数字时,显示对应月份,当输入数字不在1~12的范围内时,输出“错误!”。

问题分析

这是一道典型的可以利用多分支选择语句的题目,可以定义整型变量a,使用switch语句判断整型变量a的值,利用case语句检验a值的不同情况;如果a的值不是case中所检验列出的情况,那么利用default语句输出“Error!”。

#include

int main()

{

       int a;                                 

       printf("Please enter an integer :");        

       scanf("%d",&a);                        

       switch(a)                          

       {

       case 1:printf("Januaryn");break;          

       case 2:printf("Februaryn");break;        

       case 3:printf("Marchn");break;            

       case 4:printf("April n");break;       

case 5:printf("Mayn");break;             

       case 6:printf("Junen");break;            

       case 7:printf("Julyn");break;             

       case 8:printf("Augustn");break;               

       case 9:printf("Septembern");break;                       

       case 10:printf("Octobern");break;            

       case 11:printf("Novembern");break;              

       case 12:printf("Decembern");break;                      

       default:printf("Error!n"); break;               

       }

使用switch语句实现例5-5中百分制与等级制的转换。

问题分析

定义整型变量score,先用if语句判断数值是否在0~100之间,如果是,就使用switch语句判断score/10的值,利用case语句检验score/10值的不同情况,并输出相关等级;否则输出错误提示信息。

#include

int main()

{

       int score;

       printf("Please enter score:");                 

       scanf("%d",&score);                        

       if(score>100||score<0)

              printf("输入数据无意义!n");        

       else

       switch(score/10)

       {

              case 10:

              case 9:printf("优n");break;                   

case 8:printf("良n");break;                   

              case 7:printf("中n");break;                   

              case 6:printf("及格n");break;         

              case 5:

              case 4:

              case 3:

              case 2:

              case 1:

              case 0:printf("不及格n");break;            

       }

       return 0;

}

编程实现,根据任一年的公元年号,判断该年是否是闰年。

#include

int main()

{

      int year,leap;                      

      printf("请输入年号:");                        

      scanf("%d",&year);               

      if(year%4==0)                    

      {

            if(year%100==0)                   

            {

                  if(year%400==0)              

                       leap=1;      

                  else

                       leap=0;      

                     }

            else

                  leap=1;            

      }

      else

            leap=0;                 

      if(leap)                        

            printf("%d 是闰年n",year);

      else                       

            printf("%d 不是闰年n",year);

      return 0;

}

某加油站有89号、92号和95号三种汽油,售价分别为5.88、6.28、6.68(元/升),提供了“加油员加油”或“自助加油”两个服务等级,这样用户可以得到2%或5%的优惠。试编程实现针对用户输入加油量x,汽油的品种y和服务的类型z,输出用户应付的金额。

问题分析

本例题最终要根据所输入的汽油类型和服务等级来计算应付的金额,应付金额=单价*数量*(1-折扣数),因此,问题的关键在于要根据汽油类型确定单价和根据服务类型确定折扣。

本例可用switch语句进行多分支选择,程序流程图如图所示,首先输入x、y和z的值,根据输入的y值判断选择的是哪种类型的汽油,如输入的是a即为89号汽油,将单价值5.88赋给变量m1,以此类推;随后用同样的方法根据输入的z值判断是哪种服务等级;最后计算出总金额后输出。

#include

int main()

{

       float x,m1,m2,m;                                       

       char y,z;                                             

       printf("输入要加哪种类型的汽油,a代表89号,b代表92号,c代表95号n");

       scanf("%c",&y);                            

       getchar();                     

       printf("输入进行哪种加油服务,m代表加油员加油,e代表自助加油n");

       scanf("%c",&z);                     

       getchar();                     

       printf("输入要加油的数量n");

scanf("%f", &x);                                         

       switch(y)                            

       {

       case 'a':m1=5.88;break;             

       case 'b':m1=6.28;break;             

       case 'c':m1=6.68;break;             

       }

       switch(z)                            

       {

       case 'm':m2=0.02;break;                   

       case 'e':m2=0.05;break;             

       }

       m=x*m1*(1-m2);                     

       printf("花费的金额:%.2fn",m);                  

       return 0;

}

求ax2+bx+c=0方程的解。

一元二次方程求解主要有以下几种情况。

(1)当a=0时,不是一元二次方程,为一元一次方程,x的值为-c/b。

(2)当b2-4ac=0时,有两个相等的实数根,x的值为x=-b/(2*a)。

(3)当b2-4ac>0时,有两个不等的实数根,分别是 。

(4)当b2-4ac<0时,有两个共轭复数根。可以用p+qi和p-qi的形式输出复数根,其中,p=-b/(2*a),q=          

#include

#include

int main()

{

        double a,b,c,disc,x,x1,x2,p,q;

        printf("请输入一元二次方程中a,b,c的值用逗号隔开n");

        scanf("%lf,%lf,%lf",&a,&b,&c);     

        if(a==0)                     

      {

          x=-c/b;

          printf("该方程为一元一次方程,x=%8.4fn",x);

      }

      else                 

{

              disc=b*b-4*a*c;               

              if(disc==0)                 

              {

            x=-b/(2*a);

            printf("该方程有两个相同的根,即x=%8.4fn",x);

               }

               else                   

            if(disc>0)               

            {

                  x1=(-b+sqrt(disc))/(2*a);

                  x2=(-b-sqrt(disc))/(2*a);

                  printf("该方程有两个实数根:%8.4f和%8.4fn",x1,x2);

            }

            else                 

                 

              {

                            p=-b/(2*a);

                            q=sqrt(-disc)/(2*a);

                            printf("该方程有两个共轭复数根,分别为:n");

                            printf("%8.4f+%8.4fin",p,q);

                            printf("%8.4f-%8.4fin",p,q);

                     }

       }

       return 0;

}

        

 。

        

 。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号