第2次上机题目2018年10月12日 条件1

第2次上机题目2018年10月12日
以下内容仅供娱乐,欢迎随时探讨,请多指教!
⒈ 输入一个年份,判断其是否为闰年。

#include<stdio.h>
int main()
{
	printf("输入一个年份\n");
	int year;
	scanf("%d",&year);
	if((year%4 == 0 && year%100 != 0) | |(year%400 == 0))
	printf("Yes\n");
	else 
	printf("No\n");
	return 0;
 } 

⒉ 假设现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。请编写程序,输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m为自助服务,e为协助服务),计算并输出应付款(保留小数点后2位)。

#include<stdio.h>
#define type90 6.95
#define type95 7.44
#define type97 7.93
#define dm 0.95
#define de 0.97
int main()
{
    printf("输入顾客的加油量a,汽油品种b(90、93或97)"
           "和服务类型c(m为自助服务,e为协助服务)\n");
    double a,b;
    char c;
    scanf("%lf%lf",&a,&b);
    getchar();c=getchar();
    //注意字符包括空格 ,输入时注意不要空格。
    if('m' == c){
        if(b == 90) printf("%.2lf",a*type90*dm);
        else if(b == 93) printf("%.2lf",a*type95*dm);
        else if(b == 97) printf("%.2lf",a*type97*dm);
    }
   else if('e' == c){
        if(b == 90) printf("%.2lf",a*type90*de);
        else if(b == 93) printf("%.2lf",a*type95*de);
        else if(b == 97) printf("%.2lf",a*type97*de);
    	}
    else printf("你输错了!");
    return 0;
}

⒊ 给一个不多于5位的正整数,求出它是几位数,并计算组成该整数的每位上的数字的和。

#include<stdio.h>
int main()
{
	printf("输入一个不多于5位的正整数\n");
    int x,sum=0,count=0;
    scanf("%d",&x);
    //注意求单个数的方法,把数分解
    if(x>0)count++,sum+=x%10,x/=10;
    if(x>0)count++,sum+=x%10,x/=10;
    if(x>0)count++,sum+=x%10,x/=10;
    if(x>0)count++,sum+=x%10,x/=10;
    if(x>0)count++,sum+=x%10,x/=10;
    //以后可以用循环解决 
    printf("数字的和=%d\n位数=%d",sum,count);
    return 0;
} 

⒋ 输入三角形的三边a,b,c,判断能否构成三角形,输出直角、等边或者等腰三角形。

#include<stdio.h>
int main()
{
    double a,b,c;
    printf("输入三角形的三边a,b,c\n");
    scanf("%lf%lf%lf",&a,&b,&c);
    if(a+b>c && a+c>b && b+c>a){
    printf("是三角形,");
    if(a*a+b*b == c*c || a*a == b*b+c*c || a*a+c*c == b*b){
    printf("这是直角三角形。\n");
    }
    if(a == b && b==c){
    printf("这是等边三角形。\n");
    }
    else if(a == b || b ==c || a == c){
    printf("这是等腰三角形。\n");
    }
    	}
    else printf("不是三角形。\n") ;
    return 0;
} 

⒌ 输入某学生语文课程的成绩,输出该成绩的等级。判断规则为:如果成绩在90-100的范围内,则等级为A;若成绩在80-89的范围内,则等级为B;若成绩在70-79的范围内,则等级为C;若成绩在60-69的范围内,则等级为D;若少于60分,则等级为F。(要求:用switch语句实现。)

#include<stdio.h>
 int main()
 {
 	printf("请输入一个成绩\n");
 	double s;
 	scanf("%lf",&s);//选好判断量,整除10缩小
 	switch((int)(s/10)){
 	case 10:
 	case 9:
             printf("等级为A\n");break;
 	case 8:
             printf("等级为B\n");break;
 	case 7:
             printf("等级为C\n");break;
 	case 6:
             printf("等级为D\n");break;
	default:
             printf("等级为F\n");break;
 			}
 	return 0;
  } 

6、输入四个整数,按大小顺序输出(要求按四个变量的输入顺序依次输出)。

 #include<stdio.h>
 int main()
  {
  	double t,a,b,c,d;
  	printf("请输入4个数:\n");
  	scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
  	//数学比较排序,用中间量,依次比较。
  	if(a<b) t=a,a=b,b=t;
  	if(a<c) t=a,a=c,c=t;
  	if(a<d) t=a,a=d,d=t;
  	if(b<c) t=b,b=c,c=t;
  	if(b<d) t=b,b=d,d=t;
  	if(c<d) t=c,c=d,d=t;
  	printf("由大到小输出:%d %d %d %d\n",a,b,c,d);
  	return 0;
 }

7、输入一个一元二次方程,根据实际情况,判断输出等根、实根和虚根的值。

#include"math.h"
#include"stdio.h"
int main()
{
    double a,b,c,d,n;
    printf("请输入3个数a,b,c(形如ax*x+bx+c=0)\n");
    //ax*x+bx+c=0,注意数学求解方法
    scanf("%lf%lf%lf",&a,&b,&c);
    d= sqrt(b*b-4*a*c);
    n=(int)d;
    if(n>0) printf("%lf\n%lf\n",(-b+d/(2*a)),(-b-d/(2*a)));
    else if(n == 0) printf("%lf\n",-(b/(2*a)));
    else if(n<0) printf("实部%lf虚部%lf\n实部%lf虚部%lf\n"
                        ,-b/(2*a),-d/(2*a),-b/(2*a),-d/(2*a));
    return 0;
}

##3个题目写实验报告!##
8、输入一个数,判断是否能同时被3和5整除,输出“YES”或“NO”。

 #include<stdio.h>
 int main()
 {
 	int a;
 	printf("输入一个数\n"); 
 	scanf("%d",&a);
 	if(a%3 == 0 && a%5 == 0) printf("YES\n");
 	else printf("NO\n");
 	return 0;
 }

9、 已知三个数a,b,c,找出最大值放于max中。

#include<stdio.h>
int main()
{
	double a,b,c,max;
	printf("输入3个数\n"); 
	scanf("%lf%lf%lf",&a,&b,&c);
	if(a>b) max=a;
	else max=b;
	if(max<c) max=c;
	printf("max=%d",max);
	return 0;
}

10、有一分段函数:用scanf函数输入x的值(分别为x<1,1~10,>=10三种情况),求y值。
这是函数。

#include<stdio.h>
int main()
{
    double x,y;
    printf("输入1个数\n");
    scanf("%lf",&x);
    y=(int)x;
    if(y<1) printf("y=%lf\n",x);
    else if(y >= 1 && x<10) printf("y=%lf\n",2*x-1);
    else printf("y=%lf\n",3*x-11);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43310774/article/details/83030044