第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(第7,8,9次課)_第1頁
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(第7,8,9次課)_第2頁
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(第7,8,9次課)_第3頁
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(第7,8,9次課)_第4頁
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(第7,8,9次課)_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)5.1為什么需要循環(huán)控制5.2用while語句實(shí)現(xiàn)循環(huán)5.3用do…while語句實(shí)現(xiàn)循環(huán)5.4用for語句實(shí)現(xiàn)循環(huán)5.5循環(huán)的嵌套5.6幾種循環(huán)的比較5.7break語句和continue語句5.8程序舉例【例】

求1+2+3+4+5。最直觀的方法:步驟1:先求1+2,得到結(jié)果3。步驟2:將步驟1得到的和3加上3,得到結(jié)果6。步驟3:將6再加上4,得10。步驟4:將10再加上5,得15?!唵嗡惴ㄅe例這樣的算法雖然正確,但太繁,數(shù)目太大時(shí)也不現(xiàn)實(shí),無法用程序?qū)崿F(xiàn)。5.1概述【觀察】

求1+2+3+4+5。被加數(shù)加數(shù)初始值:1以后:上一次的和初始值:有規(guī)律地遞增,即+12以后:規(guī)律:pip=p+i;i++;【例】

求1+2+3+4+5S1:使p=1S2:使i=2S3:

使p+i,和仍然放在在變量p中,即:p=p+iS4:

使i的值+1,即i=i+1或i++S5:

判斷i≤5,若成立,返回重新執(zhí)行步驟S3以及其后的S4和S5(循環(huán)操作);若不成立,算法結(jié)束。此時(shí)的p值為值。改進(jìn)的方法:5.2用while語句實(shí)現(xiàn)循環(huán)一般形式:while(表達(dá)式){

循環(huán)體語句組;

}執(zhí)行流程:表達(dá)式循環(huán)體語句組假(0)真(非0)#include<stdio.h>intmain(){int

i,s;i=1;s=0;

while(i<=5){s=s+i;i++;}

printf("result=%d",s);return0;}【例】用while結(jié)構(gòu)實(shí)現(xiàn)求1+2+3+4+5/*循環(huán)變量初始化值*//*循環(huán)條件*//*循環(huán)體語句組*/#include<stdio.h>intmain(){int

i,p;i=2;p=1;

while(i<=5)

{p=p*i;i=i+1;}

printf("result=%d",p);return0;}【練習(xí)】仿照上例寫出求1×2×…5的值馬上鞏固例5.1

用while循環(huán)求1~100的和練習(xí)一下例5.1

用while循環(huán)求1~100的和#include<stdio.h>intmain(){

int

i,sum;

printf("sum=%d,i=%d\n",sum,i);return0;}程序運(yùn)行結(jié)果:sum=,i=sum=0;i=;

while(){sum+=i;i++;}1i<=100sum=5050,i=101思考:(1)循環(huán)次數(shù)?(2)若i=0,會(huì)不會(huì)影響最后的運(yùn)行結(jié)果?100次不會(huì)求階乘n!求1~n的累加和求p=1×2×3×4×……×n(n≤10)即:s=1+2+3+4+……+n初始值:p=1;i=1;s=s+i;i++;p=p*i;i++;初始值:s=0;i=1;思考即:s=1+3+5+……+n求1~n的奇數(shù)累加和s=s+i;i=i+2;s=0;i=1;初始值:思考即:s=2+4+6+……+n求1~n的偶數(shù)累加和s=s+i;i=i+2;s=0;i=2;初始值:思考求1~n的階乘的和即:s=1!+2!+…n!(1)做法1:s=1!+2!+…n!=1!+1!*2+2!*3+…(n-1)!*n初始值:s=0;i=1;每一項(xiàng)=上一項(xiàng)*i(i=2~n)#include<stdio.h>voidmain(){

inti=1,s=0,p=1;

while(i<=5)//求1!+2!+3!+4!+5!{}

printf("sum=%d,i=%d\n",sum,i);}p=p*i;s=s+p;i++;思考求1~n的階乘的和即:s=1!+2!+…n!(1)做法2:——雙重循環(huán)s=1!+2!+…n!=1!+1!*2+2!*3+…(n-1)!*n初始值:s=0;i=1;每一項(xiàng)=上一項(xiàng)*i(i=2~n)#include<stdio.h>voidmain(){

inti=1,s=0,p,j;

while(i<=5)//求1!+2!+3!+4!+5!{j=1;p=1;

while(j<=i)//求i!{p=p*j;j++;}s=s+p;}

printf("sum=%d,i=%d\n",sum,i);}j=1;p=1;

while(j<=i){p=p*j;j++;}#include<stdio.h>voidmain(){

inti=1,s=0,p,j;

while(i<=5)//求1!+2!+3!+4!+5!{j=1;p=1;

while(j<=i)//求i!{p=p*j;j++;}s=s+p;i++;}

printf("sum=%d,i=%d\n",sum,i);}5.3用do…while語句實(shí)現(xiàn)循環(huán)一般形式:do{

循環(huán)體語句組;

}while(表達(dá)式);

執(zhí)行流程:循環(huán)體語句組;表達(dá)式假(0)真(非0)有分號(hào)例5.2

用do…while循環(huán)求1~100的和#include<stdio.h>voidmain(){

int

i,sum;i=1;sum=0;

do{sum=sum+i;i++;}while(i<=100)

printf("sum=%d,i=%d",sum,i);}程序運(yùn)行結(jié)果:sum=,i=;sum=5050,i=101例

用do…while循環(huán)求1~5的乘積練習(xí)一下【例】用do…while結(jié)構(gòu)實(shí)現(xiàn)求1×2×3×4×5/*循環(huán)變量初始化值*/#include<stdio.h>voidmain(){int

i,p;i=2;p=1;

while(i<=5)

{p=p*i;i=i+1;}

printf("result=%d",p);}//while結(jié)構(gòu)/*循環(huán)條件*//*循環(huán)體語句組*/#include<stdio.h>voidmain(){int

i,p;i=2;p=1;

do{p=p*i;i=i+1;}while(i<=5)

printf("result=%d",p);}//do…while結(jié)構(gòu);while和do~while比較#include<stdio.h>voidmain(){inti,sum=0;

i=1;

do{sum+=i; i++;}while(i<=100);

printf("%d",sum);}#include<stdio.h>voidmain(){int

i,sum=0;

i=1;

while(i<=100){sum+=i; i++;}

printf("%d",sum);}#include<stdio.h>voidmain(){inti,sum=0;

scanf("%d",&i);

do{sum+=i; i++;}while(i<=10);

printf("%d",sum);}#include<stdio.h>voidmain(){inti,sum=0;

scanf("%d",&i);

while(i<=10){sum+=i; i++;}

printf("%d",sum);}繼續(xù)比較轉(zhuǎn)下頁兩個(gè)程序先后兩次分別輸入1和11,查看結(jié)果。第一次運(yùn)行:1↙再運(yùn)行一次:11↙sum=55sum=11第一次運(yùn)行:1↙再運(yùn)行一次:11↙sum=55sum=0While結(jié)構(gòu)運(yùn)行情況:do~while結(jié)構(gòu)運(yùn)行情況:上一頁結(jié)論:while和do…while結(jié)構(gòu)何時(shí)相同?何時(shí)不同?P119

循環(huán)結(jié)構(gòu)的三個(gè)基本要素循環(huán)變量初始化,如:i=1;s=0;循環(huán)條件,如:i<=100循環(huán)趨向結(jié)束語句,如:i++;一般形式:5.4用for語句實(shí)現(xiàn)循環(huán)for(expr1;expr2;expr3){

循環(huán)體語句組;

}//endoffor假(0)expr2循環(huán)體語句組;真(非0)expr1expr3expr1:在循環(huán)體外先執(zhí)行(作用:循環(huán)變量賦初值,只執(zhí)行1次)expr2:作為循環(huán)條件表達(dá)式expr3:作為整個(gè)循環(huán)過程的最后一條語句自動(dòng)運(yùn)行。(作用:修改循環(huán)變量的值)執(zhí)行流程:for(expr1;expr2;expr3){

循環(huán)體語句組;

}圖6-6while(){

循環(huán)體語句;

}for(expr1;

expr2;expr3){

循環(huán)體語句;

}do{

循環(huán)體語句;

}while();expr1;expr2expr3;expr1;expr2expr3;#include<stdio.h>voidmain(){inti,sum=0;i=1;

while(i<=100){sum+=i; i++;}

printf("%d",sum);}已知用while結(jié)構(gòu)求“1~100的和”請(qǐng)改為for結(jié)構(gòu)實(shí)現(xiàn)tostudent#include<stdio.h>voidmain(){int

i,s=0;

printf("%d\n",s);}#include<stdio.h>voidmain(){int

i,s=0;i=1;

while(i<=100){s+=i; i++;}

printf("%d\n",s);}對(duì)比用while結(jié)構(gòu)和for結(jié)構(gòu)求“1~100的和”for(;;){}i=1i<=100i++s+=i;#include<stdio.h>voidmain(){int

i,s=0;

printf("%d\n",s);}#include<stdio.h>voidmain(){int

i,s=0;i=1;

while(i<=100){s+=i; i++;}

printf("%d\n",s);}對(duì)比用while結(jié)構(gòu)和for結(jié)構(gòu)求“1~100的和”for(;;)

i=1i<=100i++s+=i;練習(xí):for循環(huán)求表達(dá)式的值f=1+1/3+1/5+…1/9tostudent練習(xí):for循環(huán)求表達(dá)式的值f=1+1/3+1/5+…1/9#include<stdio.h>voidmain()//for循環(huán){inti;floatf=0;

for(;;);

printf("%f\n",f);}i=1i<=9i=i+2f=f+1.0/i練習(xí):用for循環(huán)在屏幕上輸出顯示一行星號(hào)。**********...*通過調(diào)試判斷:一行屏幕可以輸出多少個(gè)星號(hào)*?tostudent關(guān)于for循環(huán)的說明:P121(1)expr1可以省略,但是其后的分號(hào)不能省略。如:for(i=1;i<=100;i++)sum+=i;i=1;for(;i<=100;i++)sum+=i;等價(jià)于關(guān)于for循環(huán)的說明:(2)若expr2省略,會(huì)導(dǎo)致死循環(huán)。如:for(i=1;;i++)sum+=i;等價(jià)于i=1;while(1){sum+=i;i++;}所以,從功能上講:expr2不能省略(3)expr3可以省略,但是其前的分號(hào)不能省略。如:for(i=1;i<=100;){sum+=i;

i++;}關(guān)于for循環(huán)的說明:for(i=1;i<=100;i++)sum+=i;等價(jià)于(4)

可以同時(shí)省略expr1和expr3。如:求1~100的和i=1;for(;i<=100;){sum+=i;

i++;}關(guān)于for循環(huán)的說明:for(i=1;i<=100;i++)sum+=i;等價(jià)于(4)

可以同時(shí)省略expr1,expr2和expr3。如:while(1)printf(“%d\n”,i);關(guān)于for循環(huán)的說明:for(;;)

printf(“%d\n”,i);等價(jià)于(5)expr1,expr2,expr3也可以包含其他功能的表達(dá)式。關(guān)于for循環(huán)的說明://求1~100的和s=0;for(i=1;i<=100;i++)s=s+i;//求1~100的和for(s=0,i=1;i<=100;s=s+i,i++);(6)expr1和expr3可以是一個(gè)簡單的表達(dá)式,也可以是逗號(hào)表達(dá)式。(7)

C99允許在for語句的expr1中定義變量并賦初值。關(guān)于for循環(huán)的說明://求1~100的和s=0;for(inti=1;i<=100;i++)s=s+i;expr2一般是循環(huán)條件表達(dá)式,也可以包含其他功能的表達(dá)式。#include<stdio.h>voidmain(){char

ch;

printf("輸入一串字符,回車鍵結(jié)束:");

ch=getchar();

for(;ch!='\n';){printf("%c\n",ch);

ch=getchar();}}在獲取值的同時(shí)進(jìn)行判斷for(;(ch=getchar())!='\n';)

printf("%c\n",ch);while的循環(huán)條件中也可以包含其他表達(dá)式#include<stdio.h>voidmain(){char

ch;

printf("輸入一串字符,回車鍵結(jié)束:");

for(;(ch=getchar())!='\n';)

printf("%c\n",ch);}在獲取值的同時(shí)進(jìn)行判斷while((ch=getchar())!='\n')#include<stdio.h>//4.6——elseif結(jié)構(gòu)voidmain(){floatscore;

printf("輸入學(xué)生成績:");

scanf("%f",&score);while(score>100||score<0){printf("輸入有誤,重新輸入:");

scanf("%f",&score);}

if(score>=90)printf("A\n");

elseif(score>=80)printf("B\n");

elseif(score>=70)printf("C\n");

elseif(score>=60)printf("D\n");

elseprintf("E\n");}#include<stdio.h>//5.6——elseif結(jié)構(gòu)voidmain(){floatscore;

printf("輸入學(xué)生成績:");

while(scanf("%f",&score),score>100||score<0)

printf("輸入有誤,重新輸入:");

if(score>=90)printf("A\n");

elseif(score>=80)printf("B\n");

elseif(score>=70)printf("C\n");

elseif(score>=60)printf("D\n");

elseprintf("E\n");}while(){

循環(huán)體語句;

}for(expr1;

expr2;expr3){

循環(huán)體語句;

}do{

循環(huán)體語句;

}while();expr1;expr2expr3;expr1;expr2expr3;三種循環(huán)結(jié)構(gòu)三要素:循環(huán)變量初始化;循環(huán)條件;循環(huán)變量修改語句;程序填空:用for循環(huán)求“1~100的和”#include<stdio.h>voidmain(){int

i,sum;

for(;i<=100;i++)

sum+=i;

printf("%d\n",sum);}sum=0i=1,——for循環(huán)格式的靈活運(yùn)用#include<stdio.h>voidmain(){

int

i,sum;

for(sum=0,i=1;i<=100;)

printf("%d\n",sum);}程序填空:用for循環(huán)求“1~100的和”;屏幕輸出結(jié)果:sum+=i,i++——for循環(huán)格式的靈活運(yùn)用#include<stdio.h>voidmain(){

int

i,sum;

for(sum=0,i=1;i<=100;)

printf("%d\n",sum);}i++程序填空:用for循環(huán)求“1~100的和”;sum+=i,

屏幕輸出結(jié)果:——for循環(huán)格式的靈活運(yùn)用5.5循環(huán)的嵌套定義:一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu)。一般形式:…while(條件表達(dá)式){

循環(huán)體語句組;

}……do{

循環(huán)體語句組;

}while(條件表達(dá)式);…外層內(nèi)層…for(expr1;expr2;expr3){

循環(huán)體語句組;

}……while(條件表達(dá)式){

循環(huán)體語句組;

}…執(zhí)行過程:執(zhí)行一次外層循環(huán)時(shí):內(nèi)層循環(huán)要執(zhí)行到條件不滿足時(shí)(內(nèi)層循環(huán)是多個(gè)小循環(huán),外層循環(huán)是一個(gè)大循環(huán))基本原則:1、外層循環(huán)的“變量初始化”在外層循環(huán)之前;2、內(nèi)層循環(huán)的“變量初始化”在外層循環(huán)之內(nèi)(適當(dāng)位置)——內(nèi)層循環(huán)之前;內(nèi)層循環(huán)可以盡量使用for結(jié)構(gòu)外層:for循環(huán)內(nèi)層:while循環(huán)用雙重循環(huán)編程實(shí)現(xiàn):求1~10的階乘和。#include<stdio.h>voidmain(){int

i,j;longs,p;//s存放和值,p存放階乘

//i外層循環(huán)變量,j內(nèi)層循環(huán)變量

for(s=0,i=1;i<=10;i++)

{

j=1;p=1;

while(j<=i){p=p*j;j++;}

s=s+p;

}

printf("result=%ld",s);}tostudent#include<stdio.h>voidmain(){int

i,j;longs,p;//s存放和值,p存放階乘

//i外層循環(huán)變量,j內(nèi)層循環(huán)變量

for(s=0,i=1;i<=10;i++)

{

for(j=1,p=1;j<=i;j++)p=p*j;

s=s+p;

}

printf("result=%ld",s);}tostudent練習(xí):輸出以下內(nèi)容用雙重循環(huán)輸出10行星號(hào),每行20個(gè)星號(hào)****************************************......********************tostudent#include<stdio.h>voidmain(){

int

i,j;//i外層循環(huán)控制行數(shù);j內(nèi)層循環(huán)控制個(gè)數(shù)

for(;;)for(;;)

printf("*");

}//外層i循環(huán)結(jié)束}//該語句的位置i=1i<=10i++j=1j<=20j++printf("\n");——外層循環(huán){練習(xí):輸出以下內(nèi)容***************tostudent#include<stdio.h>voidmain(){

int

i,j;//i外層循環(huán)控制行數(shù);j內(nèi)層循環(huán)控制個(gè)數(shù)

for(;;)

{

for(;;)

printf("*");

}//外層i循環(huán)結(jié)束}//該語句的位置i=1i<=5i++j=1j<=ij++printf("\n");——外層循環(huán)練習(xí):百錢買百雞問題。百錢百雞問題中國古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了著名的“百錢買百雞問題”:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞,問翁、母、雛各幾何?假設(shè):雞翁:cocks雞母:hens雞雛:chicks0~20=100-cocks-hens0~33#include<stdio.h>voidmain(){int

cocks,hens,chicks;

for(cocks=0;cocks<=20;cocks++)

for(hens=0;hens<=33;hens++){chicks=100-cocks-hens;

if(5.0*cocks+3.0*hens+chicks/3.0==100.0)

printf("%d%d%d\n",cocks,hens,chicks);}}進(jìn)入下一個(gè)環(huán)節(jié)的學(xué)習(xí)break;continue;5.7

break語句和continue語句作用:從循環(huán)體內(nèi)跳出循環(huán)體外,強(qiáng)制性提前結(jié)束循環(huán)。break語句一般形式:break;特點(diǎn):①通常與if語句搭配使用;②只能用于循環(huán)結(jié)構(gòu)和switch結(jié)構(gòu)。不能用于其他語句中while(循環(huán)條件表達(dá)式){……

if(表達(dá)式x)

break;

……}break執(zhí)行示意for(表達(dá)式1;表達(dá)式2;表達(dá)式3){……

if(表達(dá)式x)

break;

……}作用:提前結(jié)束本次循環(huán),再判斷<循環(huán)條件表達(dá)式>是否成立。continue語句一般形式:continue;特點(diǎn):①通常與if語句搭配使用;②與break的區(qū)別:不是終止整個(gè)循環(huán)的執(zhí)行,只是提前結(jié)束本次循環(huán);while(循環(huán)條件表達(dá)式){……

if(表達(dá)式y(tǒng))

continue;

……}continue執(zhí)行示意for(表達(dá)式1;表達(dá)式2;表達(dá)式3){……

if(表達(dá)式y(tǒng))

continue;

……}m%i輸入一個(gè)任意整數(shù)m,判斷m是否素?cái)?shù)#include<stdio.h>voidmain(){int

m,i;

printf("輸入一個(gè)任意整數(shù):");scanf("%d",&m);

if()printf("%disaprimenumber\n",m);

else

printf("%disnotaprimenumber\n",m);}for(i=2;i<=m-1;i++)i>m-1

if(m%i==0)break;for循環(huán)結(jié)束有兩種可能:(1)i>m-1(2)m%i==0(i<=m-1)輸入一個(gè)任意整數(shù)m,判斷m是否素?cái)?shù)#include<stdio.h>voidmain(){int

m,i;

printf("輸入一個(gè)任意整數(shù):");scanf("%d",&m);

if()printf("%disaprimenumber\n",m);

else

printf("%disnotaprimenumber\n",m);}for(i=2;i<=sqrt(m);i++)

if(m%i==0)break;i>sqrt(m)#include<math.h>break舉例(例5.6)輸入一個(gè)任意整數(shù)m,判斷m是否素?cái)?shù)#include<stdio.h>voidmain(){int

m,i;

printf("輸入一個(gè)任意整數(shù):");scanf("%d",&m);

if()printf("%disaprimenumber\n",m);

else

printf("%disnotaprimenumber\n",m);}for(i=2;i<=sqrt(m);i++)

if(m%i!=0)i>sqrt(m)#include<math.h>break;continue;{}本節(jié)內(nèi)容:break語句和continue語句雙重循環(huán)學(xué)習(xí)與循環(huán)有關(guān)的算法掌握循環(huán)程序的編寫和應(yīng)用5.8

循環(huán)程序舉例例5.7

求的近似值:#include<stdio.h>#include<math.h>voidmain(){ints;

//s代表每項(xiàng)的符號(hào)

float

n,t,pi;//t:每一項(xiàng)的值;pi累加;n每項(xiàng)分母

t=1;pi=0;n=1.0;s=1;

while(fabs(t)>1e-6){pi=pi+t;n=n+2;//求下一項(xiàng)的分母

s=-s;//求下一項(xiàng)的符號(hào)

t=s/n;}//求下一項(xiàng)pi=pi*4;printf("pi=%10.6f\n",pi);}/4=1-1/3+1/5-1/7+……直到某一項(xiàng)的絕對(duì)值小于10-6為止。例5.8

求Fibonacci數(shù)列的前40個(gè)數(shù)。該數(shù)列有如下特點(diǎn):第1、2兩個(gè)數(shù)為1、1。從第3個(gè)數(shù)開始,該數(shù)是其前面兩個(gè)數(shù)之和。即:F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n>=3)古典數(shù)學(xué)問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子。小兔子長到第3個(gè)月后每個(gè)月又生一對(duì)兔子。假設(shè)所有兔子都不死,問每個(gè)月兔子總數(shù)為多少對(duì)?#include<stdio.h>voidmain(){long

intf1,f2,f3;//f1和f2存放數(shù)列兩項(xiàng)的值

inti;//i是循環(huán)控制變量

f1=1;f2=1;printf("%12ld%12ld",f1,f2);

for(i=1;i<=40;i++){f3=f1+f2;printf("%12ld",f3);f1=f2;f2=f3;}}另解#include<stdio.h>voidmain(){long

intf1,f2;//f1和f2存放數(shù)列兩項(xiàng)的值

inti;//i是循環(huán)控制變量

f1=1;f2=1;

for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);

if(i%2==0)printf("\n");//每行輸出4項(xiàng)

f1=f1+f2;f2=f2+f1;}}例5.9求100~200之間的所有素?cái)?shù)。#include<stdio.h>#include<math.h>voidmain(){int

m,k,i,n=0;

//n是計(jì)數(shù)器;m和i分別是外、內(nèi)層循環(huán)控制變量

for(m=101;m<=200;m=m+2){k=sqrt(m);

for(i=2;i<=k;i++)//for循環(huán)—判定當(dāng)前m是否素?cái)?shù)

if(m%i==0)break;

if(i>=k+1){printf("%d",m); n=n+1;if(n%10==0)printf("\n");}//換行

}printf("\n");}例5.10

譯密碼。為使電文保密,往往按一定規(guī)律將其轉(zhuǎn)換成密碼,收?qǐng)?bào)人再按約定的規(guī)律將其譯回原文。例如,本題按以下規(guī)律將電文變成密碼:(1)將字母A變成字母E,a變成e,即:變成其后的第4個(gè)字母;(2)W變成A,X變成B,Y變成C,Z變成D;(3)w變成a,x變成b,y變成c,z變成d;(4)電文中若出現(xiàn)非字母字符則不變。假設(shè):c=getchar();if((c>='a'&&c<='v')||(c>='A'&&c<='V'))c=c+4;if((c>='w'&&c<='z')||(c>='W'&&c<='Z'))c=c-22;putchar(c);#include<stdio.h>voidmain(){charc;

while((c=getchar())!='\n')

//循環(huán)輸入一串字符,回車符結(jié)束

{if((c>='a'&&c<='v')||(c>='A'&&c<='V'))c=c+4;

if((c>='w'&&c<='z')||(c>='W'&&c<='Z'))c=c-22;

printf("%c",c);//或putchar(c);}

printf("\n");}#include<stdio.h>voidmain(){charc;

while((c=getchar())!='\n'){if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){c=c+4;

if(c>'Z'&&c<='Z'+4||c>'z')c=c-26;}

printf("%c",c);}

printf("\n");}c<='Z'+4why?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論