160809313 第六次作业

#include<stdio.h>
void zy1()
{
    int a;
    printf("请输入题目序号(1-3):
实验1-1:求最大值
要求由键盘输入两个整数a和b,程序输出其中较大的数。
实验1-2:求m到n之和
要求程序计算并输出m~n(m< n)之间所有整数的和,其中m和n由用户从键盘上输入。
实验1-3:求平均数
从键盘上依次读入5个整数,计算并输出他们的平均数。

请选择小题");
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("1-1:求最大值要求由键盘输入两个整数a和b,程序输出其中较大的数
#include<stdio.h>
	int main ()
	{
	int a;
	int b;
	scanf("%d %d",&a,&b);
	if(a>b)
	printf("%d",a);
	else
	printf("%d",b);
	return 0;
	}
	");    
        case 2:
        printf("1-2 求m到n的和
#include<stdio.h>
int main()//求m-n的和
{
int m;
int n;
scanf("%d,%d",&m,&n);
int i=m;
int sum=0;
for(i=m;i<=n;i++)
sum=sum+i;
printf("%d",sum);
return 0;
}
");
        case 3:
        printf("1-3 求平均数
	#include<stdio.h>
	int main()//求平均数
	{
	int sum=0;
	int a;
	int b;
	int c;
	int d;
	int e;
	scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
	sum=a+b+c+d+e;
	printf("%d",sum/5);
	return 0 ;
	}
	");
        break;  
    }
}
void zy2()
{
    int a;
    printf("请输入题目序号1-9:
	1.C语言基本数据类型及其占用的内存空间大小分别是:
	2.算数运算符有:+-*/% ++ --
	3.关系运算符有:> <    ==  >=  <=  !=   <>
	4.逻辑运算符的优先顺序是:! &&  ||
	5.赋值运算符有:= +=  -=  *=  /=  %=
	下面代码的输出结果是什么?请解释原因。
	6.
	char c=132;
	 printf(“%d”,c);
	7.
	int a=-7;
	 printf(“%d”,a>>1);
	8.
	int a=7;
	int b=8;
	printf(“%d”,a&b);
	9.
	int a=7;
	int b=8;
	printf(“%d”,a^b);

请选择小题");
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("1.C语言基本数据类型及其占用的内存空间大小分别是:int:4字节,short[int]:2字节,long[int]:4字节,unsigned[int]:4字节,unsigned short[int]:2字节,unsigned long[int]:4字节,char:1字节,float:4字节,double:8字节。");
        break;
        case 2:
        printf("2.算数运算符有:+,?,*,/,%,++,??。");
        break;
        case 3:
        printf("3.关系运算符有:>,<,==,>=,<=,!=,<>。");
        break;
        case 4:
        printf("4.逻辑运算符的有限顺序是:!,&&,||。");
        break;
        case 5:
        printf("5.赋值运算符有:=,+=,-=,*=,/=,%=。");
        break;
        case 6:
        printf("6.char c=132;printf("%d",c);解:char的范围为-127~128,132超出范围,132变为二进制是10000100,因为在计算机中0为正1为负所以该数为负数,而负数需要取反加一,所以该数为-01111011+1=-01111100,输出结果为-124。");
        break;
        case 7:
        printf("7.int a=7;printf("%d",a?1);
解:7:00000000 00000000 00000000 00000111
-7:11111111 11111111 11111111 11111001(取反加一)
a>>1:111111111 11111111 11111111 1111100(右移一位)
-00000000 00000000 00000000 00000100(取反进一)
所以向右移1位为-4.");
        break;
        case 8:
        printf("8.int a=7;int a=8;printf("%d",a&b);
解:a=7:00000000 00000000 00000000 00000111
b=8:00000000 00000000 00000000 00001000
因为没有相同为1的项
所以输出值为0.");
        break;
        case 9:
        printf("9.int a=7;int b=8;printf("%d",a^b);
解:a=7:00000000 00000000 00000000 00000111
b=8:00000000 00000000 00000000 00001000
00000000 00000000 00000000 00001111
所以输出值为15.
");
        break;
    }
}
void zy3()
{
    int a;
    printf("#include<stdio.h>
	int main()//十行三角形
	{
		printf("*
");
		printf("**
");
		printf("***
");
		printf("****
");
		printf("*****
");
		printf("******
");
		print("*******\n");
		printf("********
");
		printf("*********
");
		printf("**********
");
		return 0 ;
	}
	

请选择小题");
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("#include<stdio.h>
	int main()//十行三角形
	{
		printf("*\n");
		printf("**\n");
		printf("***\n");
		printf("****\n");
		printf("*****\n");
		printf("******\n");
		printf("*******\n");
		printf("********\n");
		printf("*********\n");
		printf("**********\n");
		return 0 ;
	}
	");
        break;
        case 2:
        printf("由于太多此处省略");
        break;
    }
}
void zy4()
{
    int a;
    printf("1.猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

2.从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。
	

请选择小题");
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("#include<stdio.h>
	#include<stdlib.h>
	#include<time.h>int main()
	{
	srand(time(NULL));
	while(true)
	{
	int min = 0;
int max = 100;
	int a = 0 ;
	int count = 0;//次数
	int target = rand()%max + 1;//产生随机数
	while(true)
	{
	int guess = 0;
	printf("请输入%d-%d之间的数
",min,max);
	scanf("%d",&guess); 
	count++;
	 if(guess < a)
	   {
	printf("负数无效,Game Over
");
	exit(0);
	}
	if(guess < min||guess > max)
	{
	printf("你粗心了,请看清楚,输入的数为%d - %d
",min,max);
	continue;
	}
	else
	{
	if(target==guess)
	{
	printf("YOU WIN!
",count);
	 printf("共猜了%d次。
",count); 
	  break;
	}
	else if(target > guess)
	{
	 min = guess;
	printf("数字大于%d
",guess);
	printf("Too small
");
	}
	else
	{
	max = guess;
	printf("数字小于%d
",guess);
	printf("Too big
");
	}
	}
	}
	printf("共猜了%d次。
",count)
	;  if(count==1)
	printf ("Bingo!");
	if(count<=3)
	printf("Lucky you!!");
	if(count>3)
	printf("Good guess!!!");
	}
	return 0;
	}
	");
        case 2:
        printf("#include<stdio.h>
	int main()
	{
	int a,b,m,i,o=1;
	printf("请输入:");
	scanf("%d %d",&a,&b);
	m=a;
	if(a<b)
	{
	a=b;
	b=m;
	}
	for(i=2;i<=b;i++)
	{
	if(a%i==0&&b%i==0)
	o=i;
	}
	printf("最大公约数:%d
",o);
	m=(a*b)/o;
	printf("最小公倍数:%d
",m);
	return 0;
	}
	"); 
        break; 
    }
}
void zy5()
{
    int a;
    printf("输入题目序号1-6:
	1.书上第3章课后题中的5道编程题。
	2.利用双重循环打印三角形:
	

请选择小题");
    scanf("%d",&a);
    switch(a)
    {
        case 1:
        printf("1.书上第3章课后题中的5道编程题。
#include<stdio.h>
	int main()
	{
	int a,b,c,n;
	printf("输入整数:");
	scanf("%d %d %d",&a,&b,&c);
	if(a>b)
	{
	n=b;
	b=a;
	a=n;
	}
	if(a>c)
	{
	n=c;
	c=a;
	a=n;
	}
	if(b>c)
	{
	n=c;
	c=b;
	b=n;
	}
	printf("这三个数从小到大分别是:%d %d %d",a,b,c);
	return 0;
	}
	 ");
        break;
        case 2:
        printf("2.#include<stdio.h>
	int main()
	{
	int a,b;
	printf("该条公路限速:");
	scanf("%d",&a);
	printf("该机动车车速:");
	scanf("%d",&b);
	if(b-a>0.1*a && b-a<=0.5*a)
	printf("予该机动车处200元罚款");
	else if(b-a>0.5*a)
	printf("予机动车吊销驾驶证处罚");
	else
	printf("不予该机动车处罚");      
	   return 0;
	}
	");
        break;
        case 3:
        printf("#include<stdio.h>
	int main()
	{
	int a,b,c;
	printf("行驶里程(公里):");
	scanf("%d",&a);
	printf("等待时间(分钟):");
	scanf("%d",&b);
	if(a>3 && a<=13)
	c=(a-3)*2+10;
	else if(a>13)
	c=30+(a-13)*3;
	else
	c=10;
	c=c+b/5*2;
	printf("应支付车费(元):%d",c);   
	  return 0;
	}
	");
        break;
        case 4:
        printf("#include<stdio.h>
	int main()
	{
	int n;
	printf("共统计多少学生的成绩:");
	scanf("%d",&n);
	int i,a;
	int b=0,c=0,d=0,e=0,f=0;
	for(i=1;i<=n;i++)
	{
	printf("输入百分制成绩:");
	scanf("%d",&a);
	if(a>=90)
	{
	printf("该同学五分制成绩为:A
");
	b++;
	}
	else if(a<90 && a>=80)
	{
	printf("该同学五分制成绩为:B
");
	c++;
	}
	else if(a<80 && a>=70)
	{
	printf("该同学五分制成绩为:C
");
	d++;
	}
	else if(a<70 && a>=60)
	{
	printf("该同学五分制成绩为:D
");
	e++;
	}
	else
	{
	printf("该同学五分制成绩为:E
");
	f++;
	}
	}
	printf("%d个学生的成绩中中共有:
%d个A级,
%d个B级,
%d个C级,
%d个D级,
%d个E级
",n,b,c,d,e,f); 
	        return 0;
	}
	");
        break;
        case 5:
        printf("#include<stdio.h>/n/t#include<math.h>int main()
	{/n/tdouble x1,y1,x2,y2,x3,y3,a,b,c,s,h,w,z,area;
	printf("请输入平面上任意三个点的坐标:");
	scanf("(%lf,%lf) (%lf,%lf) (%lf,%lf)",&x1,&y1,&x2,&y2,&x3,&y3);
	if(x1>=x2)
	w=x1-x2;
	else
	w=x2-x1;
	if(y1>=y2)
	h=y1-y2;
	else
	h=y2-y1;
	a=sqrt(pow(w,2)+pow(h,2));
	if(x1>=x3)
	w=x1-x3;
	else
	w=x3-x1;
	if(y1>=y3)
	h=y1-y3;
	else
	h=y3-y1;
	b=sqrt(pow(w,2)+pow(h,2));
	if(x3>=x2)
	w=x3-x2;
	else
	w=x2-x3;
	if(y3>=y2)
	h=y3-y2;
	else
	h=y2-y3;
	c=sqrt(pow(w,2)+pow(h,2));
	if(a+b>c && a+c>b && b+c>a)
	{
	z=a+b+c;
	printf("该三角形周长为:%.2f
",z);
	s=z/2;
	area=sqrt(s*(s-a)*(s-b)*(s-c));
	printf("该三角形面积为:%.2f
",area);
	}
	else
	printf("Impossible");
	return 0;
	}
	");
        break;
        case 6:
        printf("#include<stdio.h>
	int main()
	{
	int i,j,k;
	for(j=1;j<=10;j++)
	{
	for(k=1;k<j;k++)
	printf(" ");
	for(i=1;i<=11-j;i++) 
	           printf("*");
	printf("
");  
	  }     
	return 0;
	}
	");
        break;
        
    }
}
int main() 
{
        int choice;
    printf(         "作业及答案查询系统
");
    printf(         "1.第一次作业
");
    printf(         "2.第二次作业
");
    printf(         "3.第三次作业
");
    printf(         "4.第四次作业
");
    printf(         "5.第五次作业
");
    printf(    "请选择:");
    scanf("%d",&choice);
    switch(choice)
    {   
        case 1:
          zy1();
         break; 
        case 2:
          zy2();
        break;
        case 3:
          zy3();
         break;
        case 4:
          zy4();
         break;
        case 5:
          zy5();
         break;
            
    }
    
}
原文地址:https://www.cnblogs.com/160809313-hmh/p/6028468.html