① 急求c语言编程中 分支结构程序设计
分支结构程序设计通常用if语句和switch语句实现,其中的if语句有三种不同的形式,且各中形式中还可相互嵌套,你最好给个题,通过题才好反应本质用法
② 大神帮忙 c语言程序设计 分支结构
学起来不难,看你将来想走什么样的路了,如果想走程序的路子,还是告诉你做好准备的C语言是比较灵活的东西,如果你有兴趣,可以多学点,多了解点,如果只是为了考试,为了过级,那就没必要深入学了。学到过级,可能连C语言的皮毛都没学到。做程序的话,不用别人教你,不用别人给你压力,你就知道要学多少了。
③ C语言的分支结构程序设计
不知道你题目中的塔是柱状塔还是锥状塔,对于柱状塔,源代码如下。
#include "stdio.h"
#include "math.h"
double Dist(double x1, double y1, double x2, double y2)
{
return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * ( y1 - y2));
}
double GetHigh(double x, double y),
{
int signx = 1, signy = 1;
if(x < 0) signx = -1; /*先求点(x, y)所在象限*/
if(y < 0) signy = -1;
if(Dist(x, y, signx * 10, signy * 10) <= 2.0) /*求点(x, y)与最近的塔心的距离*/
return 25;
else 0;
}
void main( )
{
double x, y;
scanf("%lf%lf", &x, &y);
printf("high = %lf", GetHigh(x, y));
}
如果是锥状塔,将求高度的函数代码修改如下,其余的代码同上:
double GetHigh(double x, double y)
{
int signx = 1, signy = 1;
double dist;
if(x < 0) signx = -1; /*先求点(x, y)所在象限*/
if(y < 0) signy = -1;
dist = Dist(x, y, signx * 10, signy * 10); /*求点(x, y)与最近的塔心的距离*/
if(dist <= 2.0)
return 25 * (2.0 - dist) / 2.0;
else 0;
}
④ c语言分支结构程序设计
输出结构应该是1,0
k的值取决于 (n=b>a) 与(m=a)的或结果,首先看 (n=b>a),明显结果为1(为(TRUE)真),由于是或作用,不管(m=a)的结果为真还是假,都可以得出K的值为1了,而实际上,C也不会去执行(m=a)了,所以m的值还是0,不是1。
这样解释不知道你是否听的明白。
⑤ c语言编程 分支结构
之所以跳过去了,是因为scanf自动附上‘\n’的值了,理论我也讲不清楚#includeintmain(i){doublemoheight,faheight,height;charsex,diet,sport;printf("ENTERSEX\n");scanf("%c",&sex);printf("ENTERparentsheight\n");scanf("%lf%lf",&moheight,&faheight);if(sex=='m'||sex=='M')//类似sex=='m'||'M',这样的写法是行不通的,帮你修改下{height=(faheight+moheight)*0.54;printf("%lf\n",height);}elseif(sex=='f'||sex=='F'){height=(faheight*0.923+moheight)/2;printf("%lf\n",height);//这里也要输出的吧,不能搞性别歧视啊}printf("whetherlikesport\n");fflush(stdin);//关键点,加了这个清空缓存,程序就可以正常运行了scanf("%c",&sport);if(sport=='y'||sport=='Y'){height=height*1.02;printf("%lf\n",height);}else;printf("whethergooddiet\n");fflush(stdin);//关键点,加了这个清空缓存,程序就可以正常运行了scanf("%c",&diet);if(diet=='y'||diet=='Y'){height=height*1.015;}else;printf("%lf\n",height);system("PAUSE");return0;}
⑥ C语言程序设计
5.3 if语句
用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。
5.3.1 if语句的三种形式
1. 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。
【例5.3】
main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d",max);
}
本例程序中,输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。
2. 第二种形式为: if-else
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
其执行过程可表示为下图。
【例5.4】
main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
}
输入两个整数,输出其中的大数。
改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。
3. 第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。 当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如图3—3所示。
【例5.5】
#include"stdio.h"
main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
elseif(c>='0'&&c<='9')
printf("This is a digit\n");
elseif(c>='A'&&c<='Z')
printf("This is a capital letter\n");
elseif(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}
本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分
支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
4. 在使用if语句中还应注意以下问题:
1) 在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。
例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
又如,有程序段:
if(a=b)
printf("%d",a);
else
printf("a=0");
本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。
2) 在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
3) 在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}
5.3.2 if语句的嵌套
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。
其一般形式可表示如下:
if(表达式)
if语句;
或者为
if(表达式)
if语句;
else
if语句;
在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。
例如:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
其中的else究竟是与哪一个if配对呢?
应该理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
还是应理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。
【例5.6】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A<B\n");
else printf("A=B\n");
}
比较两个数的大小关系。
本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A<B或A=B。这种问题用if-else-if语句也可以完成。而且程序更加清晰。因此,在一般情况下较少使用if语句的嵌套结构。以使程序更便于阅读理解。
【例5.7】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a==b) printf("A=B\n");
else if(a>b) printf("A>B\n");
else printf("A<B\n");
}
⑦ C语言程序设计分支结构
试试把成绩判断那个if里的y=0换成continue试试
因为你先在这样,一旦遇到一个不符合成绩的数,你会直接把y清零。
换成continue,则是如果不符合,跳过这个成绩不做计算,人数、分数都不做计算那种
⑧ C语言编程多分支
你的题目中大众应该是起步价7元,而不是起步价7元/公里,尼桑也应该是起步价8元,而不是8元/公里
按照题目要求编写的C语言程序如下
#include<stdio.h>
#include<string.h>
intmain()
{
chars[10];
intkm;
floatfee;
printf("请输入乘车的车型及行车公里数 ");
scanf("%s%d",s,&km);
if(strcmp(s,"大众")==0){
if(km<=3){
fee=7;
}else{
fee=7+(km-3)*2.1;
}
printf("应付车资%f",fee);
}elseif(strcmp(s,"尼桑")==0){
if(km<=3){
fee=8;
}else{
fee=8+(km-3)*2.4;
}
printf("应付车资%f",fee);
}elseif(strcmp(s,"本田")==0){
if(km<=3){
fee=9;
}else{
fee=9+(km-3)*2.7;
}
printf("应付车资%f",fee);
}else{
printf("输入车型不正确!");
}
return0;
}
⑨ c语言程序设计 分支结构
比如经典冒泡排序!就是拿前面数循环与后面的数进行比较的过程最简单也许就是foreach排序了foreach(char(自定义名)in[数组名])再输出自定义名就可以了因为foreach会自动遍历整个数组的
⑩ C语言分支程序设计。。。急!!!
#include "stdio.h"
int main()
{
float a,b,c;
printf("请输入三个数:");
scanf("%f %f %f",&a,&b,&c);
if((a>=80)&&(b>=80)&&(c>=80))
printf("Perfect!\n");
else if((a>=70)&&(b>=70)&&(c>=70)&&((a>=80)||(b>=80)||(c>=80)))
printf("Good!\n");
else
return 0;
return 0;
}