#include<stdio.h>
void zy1()
{
int a;
printf("五级制成绩");
char score;
scanf("%c",&score);
switch (score)
{
case 'A':
printf("90~100");
break;
case 'B':
printf("80~89");
break;
case 'C':
printf("70~79");
break;
case 'D':
printf("60~69");
break;
case 'E':
printf("0~59");
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("倒三角形");
printf("**********
");
printf("*********
");
printf("********
");
printf("*******
");
printf("******
");
printf("*****
");
printf("****
");
printf("***
");
printf("**
");
printf("*
");
}
void zy4()
{
int a;
printf("猜数字");
printf("请猜一个整数
你的猜测是:");
int predefined=rand()%100;
int a;
scanf("%d",&a);
int b;
for(b=1;b<=10;b++)
{
if(predefined==a)
{
printf("恭喜你猜对啦");
}
else if(predefined<a)
{
printf("猜大了再猜:");
scanf("%d",&a);
}
else
{
printf("猜小了再猜:");
scanf("%d",&a) ;
}
//scanf("%d",&a);
}
}
void zy5()
{
int a;
printf("最大公倍数和最小公约数");
{
int a,b,i,min,max;
scanf("%d%d",&a,&b);
max = 1;
for(i=2;i<=a;i++)
{
if(a%i==0 && b%i==0)
max = i;
}
min = a*b;
for(i=a*b-1;i>=a;i--)
{
if(i%a==0 && i%b==0)
min = i;
}
printf("%d
%d
",max,min);
return 0;
}
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;
}
}