當前位置:首頁 » 編程語言 » c語言分支程序設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言分支程序設計

發布時間: 2022-01-13 08:58:05

① 急求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;
}