版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第3章 結構化程序設計的開發(fā)本章掌握以下算法:判斷一個數(shù)是否回文。2. 二進制轉換為十進制。3。求階層n!4. 求和. 數(shù)據(jù)的加密和解密。從十個數(shù)中找出最大數(shù).程序舉例:1. 求 Sn=a+aa+aaa+aaa之值,其中a是一個數(shù)字。分析: 求和: sum=sum+t; 求項數(shù):t=t*10+a;2. 判斷x是否為素數(shù)。 分析: 除1和自身以外都不能被整除的數(shù)。3. 求N! 分析: N!=N*(N-1)! 求積:s=s*t 求項數(shù): t=t+14. 求s=1!+3!+5!+19!分析: 3!=3*2*1! 5!=5*4*3! 求和: s=s+t; 求項數(shù): t=t*(n+1)*(n+2) ;n
2、=n+2; 2 3 5 8 5.求 s= + + + 前20項之和。 1 2 3 5分析: 初值: a=2,b=1 分子:t=a, a=a+b 分母:b=a 求和: s=s+a/b 例 求S=1!+2!+3!+20!#include void main() long s=0,t=1; int n; for( n=1; n=20;n+) t=t*n; s=s+t; printf(“s=%ldn”,s); 例1: 走迷宮/Mg.h#define UP 80#define DOWN 72#define LEFT 75#define RIGHT 77 void gotoxy(int x, int y)
3、; void Labyrinth();/mg.cpp#include #include void gotoxy(int x, int y) COORD c;c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); void Labyrinth() /畫迷宮 int x,i,j; for(i=5;i=10;i+) for(j=5;j=40;j+=4) gotoxy(j,i); x=rand()%2; /隨機產(chǎn)生01的數(shù) printf(%c,x+1); printf(n); 例1: 走迷宮#in
4、clude #include #include mg.hvoid main() char ch; int x,y,i; printf(Press q to exit.); Labyrinth();/畫迷宮 x=20,y=10;gotoxy(x,y); do ch=getch(); switch(ch) case UP: printf( ); +y ; gotoxy(x,y) ; printf(); gotoxy(x,y);break; case DOWN : printf( ); -y ; gotoxy(x,y) ; printf(); gotoxy(x,y);break; case LEFT
5、: printf( ); -x ; gotoxy(x,y); printf(); gotoxy(x,y);break; case RIGHT: printf( ); +x; gotoxy(x,y); printf(); gotoxy(x,y); if(x79|x24|y2) x=10,y=10; while(ch!=q); 二進制轉換為十進制。#include void main() int r,count=0,base; long num; float total=0; printf(Please input num:); scanf (%ld, &num); printf(input ba
6、se(2 or 8):); scanf(%d,&base); while(num!=0) r=num%10; total+=r*pow(base,count); num/=10; +count; printf(轉換后的數(shù)值為: %.0fn,total);getch();/*3.24 判斷10數(shù)中的最大值*/#includemain() int num,count=1,max; printf (輸入一個數(shù):); scanf (%d, &num); max=num; while (countmax) max=num;count+; printf (max=%d,max); /* 3.27 判斷10
7、數(shù)中的最大的兩個數(shù)值*/#includemain() int num,con=1,max,max2,i; printf (輸入一個數(shù):); scanf (%d, &num); max=max2=num; for(i=1;imax) max2=max; max=num; printf (Largest is %dn, max); printf (Larger is %dn, max2); /*3.35 判斷一個數(shù)是否是回文*/#includemain() int num1,num2,r,sum=0; printf (輸入一個數(shù):); scanf (%d, &num1); num2=num1; w
8、hile(num1!=0) r=num1%10; num1/=10; sum=sum*10+r; if (num2=sum) printf (%d是回文., num2); else printf (%d不是回文.,num2); return 0;#include #include main() float a,b,d; int flage=1; char op,ch; while(1) printf(Enter your expression:n); scanf(%f%c%f,&a,&op,&b); switch(op) case +: d=a+b;break; case -: d=a-b;b
9、reak; case *: d=a*b;break; case /: if (b=0) flage=0; else d=a/b; break; default: flage=3; 計算表達式(形如3+5,9/3的四則運算式)的值 if(flage=1) printf(%.0f%c%.0f=%.2fn,a,op,b,d); else if(flage=0) printf(Division by zero!n); else printf(Unknown operator!n); printf(continue(Y/N)?); scanf( %c,&ch); if(toupper(ch)=N) br
10、eak; /*3.46 加密和解密*/void main() void sub1(),sub2(); while(1) wind(1,7,1,1,30,10); gotoxy(5,3); printf(1-encoden); gotoxy(5,5); printf(2-decoden); gotoxy(5,7); printf(0-exitn); gotoxy(5,9); printf(Please input date(02)?); switch(getchar() case 1: wind(7,1,33,1,78,10);sub1();break; case 2: wind(4,3,33,
11、12 ,78,25);sub2(); break; case 0: wind(4,7,1,12,30,17);printf(Goodbye!n); getch();exit(0); void wind(int i,int j,int x1,int y1,int x2,int y2) textcolor(i); window(x1,y1,x2,y2); textbackground(j); clrscr(); void sub1() int x,a10,i=1,y; int c,k=1; FILE *fp,*pf; fp=fopen(d:a1.txt,r); if(fp=NULL) printf
12、(can not found); exit(0); pf=fopen(d:b1.txt,w); if(pf=NULL) printf(can not create); exit(0); while(!feof(fp) fscanf(fp,%d ,&x); gotoxy(8,k);printf(%d-,x); i=1; do ai=x%10; x=x/10; i+; while(x!=0); for(i=4;i=1;i-) ai=(ai+7)%10; c=a4;a4=a2;a2=c;c=a3;a3=a1;a1=c; y=a4*1000+a3*100+a2*10+a1; fprintf(pf,%d
13、 ,y); gotoxy(15,k);printf(%dn,y); k+; fclose(pf);fclose(fp); void sub2() int x,a10,i=1,count=0,c,y, k=1; FILE *fp,*pf; pf=fopen(d:b1.txt,r); if(pf=NULL) printf(not found);exit(0); fp=fopen(d:c1.txt,w); if(fp=NULL)printf(not create); exit(0); while(!feof(pf) fscanf(pf,%d ,&x); gotoxy(8,k); printf(%d-,x); i=1; count=0; while(x!=0) ai=x%10; i+;x=x/10; c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025商業(yè)超市供貨合同
- 2《憲法是根本法》(說課稿) -統(tǒng)編版道德與法治六年級上冊
- 農(nóng)村房屋翻新合同范例
- 養(yǎng)殖場長期租賃合同范例
- 勞務分包結算合同范本
- 2024-2025學年高中地理 第一章 環(huán)境與環(huán)境問題 1.1 人類與環(huán)境的關系說課稿 中圖版選修6
- 兩月工程合同范本
- 勞務合同范本劉律師
- 浦東鋼結構吊裝施工方案
- 公交廣告合同范例
- 二零二五年知識產(chǎn)權共享及收益分成合作協(xié)議3篇
- 北師大版二年級數(shù)學上冊計算題專項復習大全272
- 南通市2025屆高三第一次調研測試(一模)生物試卷(含答案 )
- 2024年09月2024渤海銀行天津濱海新區(qū)分行校園招聘筆試歷年參考題庫附帶答案詳解
- 期末考試成績分析報告課件
- 兒童哮喘的防治與治療
- 中小學校食品安全與膳食經(jīng)費管理工作指引
- 小學數(shù)學-三角形面積計算公式的推導教學設計學情分析教材分析課后反思
- 人教版數(shù)學八年級下冊同步練習(含答案)
- 2023年湖南高速鐵路職業(yè)技術學院高職單招(英語)試題庫含答案解析
- 秦暉社會主義思想史課件
評論
0/150
提交評論