您的位置:首页 > 编程语言 > C语言/C++

C语言基础-----分支语句if esle switch case

2013-03-05 20:28 337 查看
4.1.1 任务描述------fun1()

写一个程序,从键盘上接收两个整数,输出这两个整数中值大的一个。

void fun1()

{

int x=0,y=0,max=0;

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

scanf("%d,%d",&x,&y);

max=x>y?x:y;

printf("%d和%d,值大的是:%d",x,y,max);

}

4.3.1 任务描述---fun3()

写一个程序,接收两个整数a和b,并判断a是否能被b整除,输出判断结果。

void fun3()

{

int x=0,y=0;

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

scanf("%d,%d",&x,&y);

if(x%y==0)

{

printf("%s","可以整除");

}

else

{

printf("%s","可以整除");

}

}

4.4.1 任务描述----fun4()

写一个程序,接收两个数字,判断这两个数字的乘积是否大于等于5000,

如果大于则告诉用户大于5000,如果相等则告诉用户等于5000,否则告诉用户小于5000。

void fun4()

{

int x=0,y=0;

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

scanf("%d,%d",&x,&y);

if(x*y>5000)

{

printf("乘积大于5000");

}else

if(x*y==5000)

{

printf("乘积等于5000");

}

else

{

printf("乘积小于5000");

}

}

4.5.1 任务描述----fun5()

银行的自动取款机大概有如下几种操作:存款、取款、查询余额、转账等几种功能。要求用switch语句进行模拟其操作。

由于在这里没有具体的按钮,可以使用数字来模拟用户的选择。

例如:可以提示用户"存款请按1"、"取款请按2"、"查询余额请按3"、"转账请按4"、"退出请按5"。来让用户进行选择。

而具体的操作,可以直接在屏幕上输出操作过程即可。例如:当用户选择1后,可以直接在屏幕上打印“正在进行存款操作.”

即可,其它操作类似。

void fun5()

{

int Num=0;

char str [50];

printf("请选择服务种类\n存款请按1 \n 取款请按2 \n 查询余额请按3 \n 转账请按4 \n 退出请按5\n");

scanf("%d",&Num);

switch (Num) {

case 1:

strcpy(str,"正在进行 存款 操作!");// strcpy() 方法的使用,需调用 <String.h>

break;

case 2:

strcpy(str,"正在进行 取款 操作!");

break;

case 3:

strcpy(str,"正在进行 查询余额 操作!");

break;

case 4:

strcpy(str,"正在进行 转账 操作!");

break;

case 5:

strcpy(str,"正在进行 退出 操作!");

break;

default:

strcpy(str,"请输入正确指令!");

break;

}

puts(str);

}

4.6.1 作业任务-----fun6()

从键盘上接收一个字符,判断它到底是哪种字符:数字,小写字母,大写字母,其他字符。

void fun6()

{

char c='0';

char str[20];

printf("请输入一个字符:\n");

c=getchar();

if(c>'0' && c<'9')

{

strcpy(str,"这个字符是数字\n");

}else

if(c>'a' && c<'z')

{

strcpy(str,"这个字符是字母\n");

}else

{

strcpy(str,"这个字符是其他字符\n");

}

puts(str);

}

4.7.1 作业任务---fun7()

写一个程序,能够判断从键盘上输入的年份是否是一个闰年。

void fun7()

{

int year=0;

printf("请输入年份,例如2004 2012 \n");

scanf("%d",&year);

if(year%400==0 || year%4==0&&year%400!=0)

{

printf("这个年份是闰年");

}else

{printf("这个年份视平年");

}

}

4.8.1 作业任务---fun8()

写一个程序,接收一个数字,判断它是否能同时被2和3整除

void fun8()

{

int Num =0;

printf("请输入一个数:\n");

scanf("%d",&Num);

if(Num%3==0 && Num%2==0)

{

printf("能 同时被2和3整除");

}else

{

printf("不能 同时被2和3整除");

}

}

5.1.1作业任务

写出下面各逻辑表达式的值,a=3,b=4,c=5。

(1)a+b>c&&b==c 0

(2)a||b+c&&b-c 1

(3)!(a>b)&&!c||1 0

(4)!(c=a)&&(c=b)&&0 0

(5)!(a+b)+c-1&&b+c/2 1

5.2.1作业任务-----fun9()(方法一) -----fun9_2() (方法二)

有3个整数a、b、c,由键盘输入,输出其中最大的数。

void fun9()

{

int x=0,y=0,z=0,Num=0;

printf("输入3个数:");

scanf("%d,%d,%d",&x,&y,&z);

if(x<y)

{

Num=x;

x=y;

y=Num;

}

if(x<z)

{

Num=x;

x=z;

z=Num;

}

if (y<z)

{

Num=y;

y=z;

z=Num;

}

printf("从大到小输出:%d,%d,%d",x,y,z);

}

void fun9_2()

{

int x=0,y=0,z=0,Num=0;

printf("输入3个数:");

scanf("%d,%d,%d",&x,&y,&z);

x>y?x:Num=x,x=y,y=Num;

x>z?x:Num=x,x=z,z=Num;

y>z?z:Num=y,y=z,z=Num;

printf("从大到小输出:%d,%d,%d",x,y,z);

}

5.3.1作业任务----fun10()(方法一)-----fun10_2() (方法二)

给出一百分制成绩,要求从键盘输入成绩后,输出成绩等级‘A’、‘B’、‘C’、‘D’、'E'。

90分以上为‘A’,80—89分为‘B’,70—79分为‘C’,60—69分为‘D’,60分一下为'E'。

void fun10()

{

int grade=0; //grade 成绩

char rank='0'; // rank 等级

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

scanf("%d",&grade);

if(grade>90)

{

rank='A';

}else

if(grade>=80 && grade<90)

{

rank='B';

}else

if(grade>=70 && grade<80)

{

rank='C';

}else

if(grade>=60 && grade<70)

{

rank='D';

}else

{

rank='E';

}

printf("成绩等级为: %c",rank);

}

void fun10_2()

{

int grade=0; //grade 成绩

char rank='0'; // rank 等级

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

scanf("%d",&grade);

switch (grade/10) {

case 10:

case 9:

rank='A';

break;

case 8:

rank='B';

break;

case 7:

rank='C';

break;

case 6:

rank='D';

break;

default:

rank='E';

break;

}

printf("成绩等级为: %c",rank);

}

5.4.1作业任务-------fun11()

给你个不多于5位的正整数,要去:

(1)求出它是几位数;

(2)分别输出每一位数字;

(3)按逆序输出各位数字,例如原数为321,应输出123。

void fun11()

{

int Num=0;

printf("请输入一个五位数:\n");

scanf("%d",&Num);

if(Num/10000>=1)

{

printf("这个数是 五 位数\n");

printf("正序输出:\n");

printf("%d,%d,%d,%d,%d\n",Num/10000,(Num%1000)/1000,(Num%1000)/100,(Num%100)/10,Num%10);

printf("倒序序输出:\n");

printf("%d,%d,%d,%d,%d",Num%10,Num/10,Num/100,(Num%1000)/1000,Num/10000);

}else

if(Num/1000>=1)

{

printf("这个数是四 位数\n");

printf("正序输出:\n");

printf("%d,%d,%d,%d\n",Num/1000,(Num%1000)/100,(Num%100)/10,Num%10);

printf("倒序序输出\n");

printf("%d,%d,%d,%d",Num%10,(Num%100)/10,(Num%1000)/100,Num/1000);

}else

if(Num/100>=1)

{

printf("这个数是 三 位数\n");

printf("正序输出:\n");

printf("%d,%d,%d\n",(Num%1000)/100,(Num%100)/10,Num%10);

printf("倒序序输出:\n");

printf("%d,%d,%d",Num%10,(Num%100)/10,(Num%1000)/100);

}else

if(Num/10>=1)

{

printf("这个数是 二 位数\n");

printf("正序输出:\n");

printf("%d,%d\n",(Num%100)/10,Num%10);

printf("倒序输出:\n");

printf("%d,%d",Num%10,(Num%100)/10);

}else

{

printf("这个数是 一 位数\n");

printf("正序输出:\n");

printf("%d\n",Num%10);

printf("倒序输出:\n");

printf("%d",Num%10);

}

}

5.5作业五(20分钟)------fun12()

5.5.1作业任务

从键盘输入三个整数,判断是否能构成三角形,若能构成三角形判断是直角三角形,

等腰三角形还是等边三角形还是任意三角形。

(1)构成三角形条件(两边之和大于第三边)。

(2)直角三角形a*a=b*b+c*c,钝角三角形a*a>b*b+c*c,锐角三角形a*a<b*b+c*c

void fun12()

{

char str[20]="可以构成三角形,";

int a=0,b=0,c=0;

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

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

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

{

if(a*a==b*b+c*c || a*a+b*b==c*c || b*b==a*a+c*c)

{

strcat(str,"并且还是直角三角形");

}else

if(a==b && b==c && c==a)

{

strcat(str,"并且还是等腰三角形");

}else

if(a==b || a==c ||c==a)

{

strcat(str,"并且还是锐角三角形");

}

}else

{

strcpy(str,"不可以构成三角形");

}

puts(str);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: