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

C語言程序設計教程王王

發布時間: 2023-03-28 12:44:12

① 誰能介紹幾本關於計算機入門方面的書籍

關於計算機入門方面的書籍有:

一、《c語言程序設計 》

《c語言程序設計 》是2012年12月18日清華大學出版社於出版的圖慎知書,作者是黃容、趙毅。本書是學習C語言程序設計的基礎教程,內容包括C語言概述、順序結構程序設計、分支結構程序設計、梁閉循環結構程序設計、數組、函數、指針、結構體、橡孝裂文件等。

本書以程序設計思想的掌握為主線,以編程應用為驅動,通過案例和問題引入內容,由淺入深,循序漸進,重點訓練學生的編程思想,能夠充分提高學生的編程能力,鍛煉學生的工程能力和創新能力,並鼓勵學生利用所學C語言知識解決專業的具體問題。

二、《計算機概論》

《計算機概論》是出版的一本圖書,作者是嚴世傑 金子葳 洪秀朋 周伯毓。本書主要講述了整個計算機科學劃分成體系結構軟體數據組織和機器的潛力四大部分,對這四部分以及相關領域的知識做出了貼近時代深入淺出的介紹。

三、《Java編程思想ThinkinginJava》

Bruce Eckel是MindView公司的總裁,該公司向客戶提供軟體咨詢和培訓。他是C++標准委員會擁有表決權的成員之一,擁有應用物理學學士和計算機工程碩士學位。

除本書外,他還是《C++編程思想》的作者,並與人合著了《C++編程思想

第2卷》(這兩本書的英文影印版及中文版均已由機械工業出版社引進出版)及其他著作。他已經發表了150多篇論文,還經常參加世界各地的研討會並進行演講。

四、《微型計算機原理及應用第三版》

本書主要介紹由80x86/Pentium微處理器構成的微型計算機的原理、應用及最新發展現狀。書中闡述了80x86/Pentium微處理器的編程結構、指令與定址方式、匯編語言程序設計、存儲器技術、匯流排技術,並闡述了80x86/Pentium微處理器構成的微型計算機硬體電路系統。

五、《計算機網路》

《計算機網路》是2008年電子工業出版社出版的圖書,作者是謝希仁。該書全面系統地介紹了計算機網路的發展和原理體系結構、物理層、數據鏈路層等內容。

全書分為10章,比較全面系統地介紹了計算機網路的發展和原理體系結構、物理層、數據鏈路層、網路層、運輸層、應用層、網路安全、網際網路上的音頻/視頻服務、無線網路和下一代網際網路等內容。

② 用C語言編程「寫一個判素數的函數,在主函數輸入一個整數,輸出是否王王素數的信息。。

素數判斷有很多種方法。

以最基礎的根據數學定義判斷素數方式為例,判斷素數代碼可以寫成

#include<math.h>
intis_prime(intn)
{
inti;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)return0;//存在除1和本身外的其它因子,不是素數,返回0.
return1;//正常退出循環,則為素數。
}

這樣,只需要在主函數中,讀入整數,並調用該神讓函數進行判斷,根據結果輸出即可。

#include<stdio.h>
intmain()
{
intn;
scanf("%d",&姿橡n);//輸入數值。
游冊局if(is_prime(n))printf("%d是素數 ",n);
elseprintf("%d不是素數 ",n);//輸出結果。

return0;
}

③ C語言程序設計自學的話該買哪本書拜託了各位 謝謝

C語言程序設計教程 譚浩強編的 (第三版) 清華大學出版社或穗出版 20 快錢左右吧 比較實用,容易學 如果想學好一點的話 可以再買一本數據結構 學學 因為編程是一種思想 需要對數據結構的熟練運用 語言只是一種表現晌搭形式 是外在的 而數據結構是編程最基礎的 是內在的 把數據結構學好後 語言你可以隨便學種的 其實建議不要學C語言了 可以學java 或.net 語言 或Vc++ 因為c是面向過程的。有許多局限性, 現在最主流的是用面向對象的思想 ,而我說的那幾種語言就是面向對象的宴團拿 當然你可以慢慢學

④ c語言程序設計的介紹

《c語言程序蠢橘設計》是2011年中國鐵道出版社出版的圖書,作者帶並團是王建國蔽明陳惠明。

⑤ 推薦幾本好的C語言方面的書

1.《The C Programming Language》(《C程序設計語言》) ¥30

(美)Brian W.Kernighan,Dennis M.Ritchie (K&R)著 機械工業出版社

http://www.china-pub.com/computers/common/info.asp?id=14975

2.《C Primer Plus》(中文版) ¥60

(美)Stephen Prata 著 人民郵電出版社

3.《C語言入門經典》 ¥55

(美)霍頓(Horton,I.)著

4.《Programming in C》(《C語言編程》) ¥59

(美)Stephen Kochan 著 電子工業出版社

5.《Pointers On C》(《C指針》)

6.《Expert C Programming》(《C專家編程》)

7.《C Traps and Pitfalls》(《C缺陷和陷阱》)

第一本絕對是學習C語言必看的書,而且相對來說比較便宜,當然如果買英文版的就更好了(我在書店看的英文版是35RMB)

⑥ 請為C++新手推薦幾本教程好書吧。我不怕學著難,只要經典有價值的

你自己挑幾本看吧,
入門推薦看
C Primer Plus中文版(第五版)
C程序設計(第三版)

學好C之後再去學c++,建議看
白話c++

你先把這些書復制下來,這些書都是經典中的經典了。都是非常好的。

C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
The C Programming Language by Kernighan & Ritchie Complement : The Development of the C Language
C Traps and Pitfalls by Andrew Koenig
Expert C Programming by Peter van der Linden
The Standard C Library by P J Plauger
Books on Linux & C :
Linux Application Development by Michael K. Johnson & Erik W. Troan
Linux device drivers by Alessandro Rubini
Developing Linux applications with GTK+ and GDK (ISBN 0-7357-0021-4, New Riders)
C/C++入門基礎
Windows C 程序設計入門與提高
單片機C語言入門
C++ 入門基礎教程
C語言常用演算法源代碼
C常用演算法程序集
C++ 語言命令詳解
Borland C++使用手冊
C語言編程基礎
C語言編程要點
C語言數值演算法程序大全(第二版)
Borland C++4.0安裝與使用
C++ Builder 5.0經典入門
非C程序員C++入門自學教程
C/C++指令字典
C語言常用函數手冊
C++標准程序庫自修教程與參考手冊
C語言圖形函數介紹
C語言數值計算初步
C++ 設計新思維
C++Builder基礎進階
C語言初學者入門講座
C++完全參考手冊
C++Builder英文幫助
《C++Builder學習大全》中文版
C++ Builder編程研究文檔
C游戲編程從入門到精通
C++程序調試實用手冊
Borland C++4.0從入門到精通
實用教程:
經典C語言教程
C++捷徑教程(第三版)
Borland C++實用教材
C++程序設計語言題解
C++上機實踐指導教程(第三版)
創世紀的C++ Builder教程
Borland C++程序設計教程
C++ BUILDER 實用培訓教程
C++程序設計培訓教程
C++編程金典(第三版)
C高級實用程序設計
嵌入式系統中C的開發
C++Builder自學培訓教程
C++大學教程(第二版)
C++傻瓜教程
精通C++ Builder 5程序設計高級教程
C++程序設計語言經典題與實驗指導
C++程序設計教程實驗書
C++大學基礎教程
C++面向對象到窗口程序設計
C語言核心編程
嵌入式系統的C程序設計
經典C教程
實用C語言詳解
Borland C++深入編程
Borland C++4.0程序設計
C++ 面向對象多線程編程
編程實例
C++實例教程
C++30天極限教程
C++Builder程序設計範例
C語言程序基礎及應用實例
C語言趣味程序百例精解
C++編程實例詳解
C++ Builder網路開發實例
C++實踐之路
21天學通C語言(第六版)
C語言學習300例
C++Builder6.0界面實例開發經典編程900例(C語言)
一個月挑戰C++
Borland C++應用篇
自學C++半月通
邊用邊學C語言
C語言完美演繹
設計60系列C++游戲
C語言程序設計題典
C++物件模型
C++ Builder 5編程實例與技巧
C語言程序設計及應用實例
Borland C++ 高級開發實踐
Borland C++ Builder6開發人員
經驗技巧:C++編碼規范與指導
C++核心編程技術
C++程序設計陷阱
C數值演算法程序大全
C和C++代碼精粹
C++編程-數據結構與程序設計方法
C++語言教程大全
C++Builder核心program
C高級編程技術
C語言常見問題集
C++ Builder 3 核心編程技術
Borland C++程序設計技術
用C實現面向對象
C專家編程
C++數據結構
C語言高級實用編程技巧
C程序設計與應用
C&C++深層探索
C++ 和面向對象的數值計算
用C++開發Web商用程序
C++代碼設計與重用
C++程序員JAVA編程
Borland C++寶典
C語言最新編程技巧200例
C++語言學習經驗集合
C語言編程寶典大全
C++ Builder高級開發人員技術指南
C++ 內存管理演算法和實現
Turboc庫函數源程序與參考大全
C++ Builder 5 開發人員指南
C++程序設計實驗指導(錢能)
用C語言設計屏幕界面技術
C和C++代碼錦囊
C語言學習和精華文摘
標准C++寶典
C_C++深層探索
Borland C++庫函數詳解
高質量C、C++編程指南
C++和面向對象的數值計算
C++、
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎

⑦ C語言程序設計,猴子選大王

#include<stdio.h>
#include<stdlib.h>
main()
{ int a[50];
int i,j,M,N,t=0;
printf("input two number.\n");
scanf("%d %d",&N,&M);
for(i=0;i<N;i++)
a[i]=i+1;
for(j=1,i=0;;j++,i++)
{
if(i==N)i=0;
if(a[i]==0){j--;continue;}
if(j%M==0){a[i]=0;t++;}
if(N-t==1)break;
}
for(i=0;i<N;i++)
if(a[i]!=0) printf("猴王是第%d個.\n",a[i]);
system("pause");
}
試試...

⑧ 語音程序設計基礎第二版大幾的

是大三的,
程序設計基礎(C語言)(第2版)》是由張先偉、馬新娟、張立紅、王雲旅納、頃顫田愛奎雀鎮敗編著,2016年清華大學出版社出版的21世紀高等學校計算機專業實用規劃教材。 該教材可作為高等院校相關專業教材,亦可供從事計算機相關領域的科研人員參考自學。

⑨ 求一本較高級的C語言參考書

C語言程序設計教程(第3版) 高等教育出版社,譚浩強
C語言習題集與上機指導(第3版) 高等教育出版社 譚浩強
譚浩強的c在國內的書裡面是最好的,如果想看國外的可以看
《C Primer Plus&C++Primer Plus》第五版中文版,超有名的
寫的淺顯易懂,習題和舉例也很經典,而且裡面的程序都是採用十分標准正規的寫法,可以使你形成良好的編程習慣,這對一個程序員至關重要,我很喜歡這本書,所以強烈推薦
希望對樓主有所幫助

⑩ c語言程序設計能力教程答案

1 【C語言】《C語言程序設計教程(第二版)》習題答案

說 明
1. 本文所指的《C語言程序設計教程(第二版)》是李鳳霞主編、北京理
工大學出版社出版的,綠皮。

2 第1章 程序設計基礎知識
一、單項選擇題(第23頁)
1-4.CBBC 5-8.DACA

二、填空題(第24頁)
1.判斷條件 2.面向過程編程 3.結構化 4.程序 5.面向對象的程序設計語言 7.有窮性 8.直到型循環 9.演算法 10.可讀性 11.模塊化 12.對問題的分析和模塊的劃分

三、應用題(第24頁)
2.源程序:
main()
{int i,j,k; /* i:公雞數,j:母雞數,k:小雞數的1/3 */ <br>printf("cock hen chick\n"); <br>for(i=1;i<=20;i++) <br>for(j=1;j<=33;j++) <br>for(k=1;k<=33;k++) <br>if (i+j+k*3==100&&i*5+j*3+k==100) <br>printf(" %d %d %d\n",i,j,k*3);}
執行結果:
cock hen chick
4 18 78
8 11 81
12 4 84
3.現計算斐波那契數列的前20項。
遞推法 源程序:
main()
{long a,b;int i; <br>a=b=1; <br>for(i=1;i<=10;i++) /*要計算前30項,把10改為15。*/ <br>{printf("%8ld%8ld",a,b); <br>a=a+b;b=b+a;}}
遞歸法 源程序:
main()
{int i; <br>for(i=0;i<=19;i++) <br>printf("%8d",fib(i));}
fib(int i)
{return(i<=1?1:fib(i-1)+fib(i-2));}
執行結果:
1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
4.源程序:
#include "math.h";
main()
{double x,x0,deltax; <br>x=1.5; <br>do {x0=pow(x+1,1./3); <br>deltax=fabs(x0-x); <br>x=x0; <br>}while(deltax>1e-12);
printf("%.10f\n",x);}
執行結果:
1.3247179572
5.源程序略。(分子、分母均構成斐波那契數列)
結果是32.66026079864
6.源程序:
main()
{int a,b,c,m; <br>printf("Please input a,b and c:"); <br>scanf("%d %d %d",&a,&b,&c); <br>if(a<b){m=a;a=b;b=m;}
if(a<c){m=a;a=c;c=m;}
if(b<c){m=b;b=c;c=m;}
printf("%d %d %d\n",a,b,c);}
執行結果:
Please input a,b and c:123 456 789
789 456 123
7.源程序:
main()
{int a; <br>scanf("%d",&a); <br>printf(a%21==0?"Yes":"No");}
執行結果:
42
Yes

3 第2章 C語言概述
一、單項選擇題(第34頁)
1-4.BDCB 5-8.AABC

二、填空題(第35頁)
1.主 2.C編譯系統 3.函數 函數 4.輸入輸出 5.頭 6. .OBJ 7.庫函數 8.文本

三、應用題(第36頁)
5.sizeof是關鍵字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是標識符。
8.源程序:
main()
{int a,b,c; <br>scanf("%d %d",&a,&b); <br>c=a;a=b;b=c; <br>printf("%d %d",a,b);}
執行結果:
12 34
34 12

4 第3章 數據類型與運算規則
一、單項選擇題(第75頁)
1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB

二、填空題(第77頁)
1.補碼 2.±(10^-308~10^308) 3.int(整數) 4.單目 自右相左 5.函數調用 6.a或b 7.1 8.65,89

三、應用題(第78頁)
1.10 9
2.執行結果:
11
0
0
12
1

5 第4章 順序結構程序設計
一、單項選擇題(第90頁)
1-5.DCDAD 6-10.BACBB

二、填空題(第91頁)
1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200
j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(這種演算法不破壞b的值,也不用定義中間變數。)

三、編程題(第92頁)
1.仿照教材第27頁例2-1。
2.源程序:
main()
{int h,m; <br>scanf("%d:%d",&h,&m); <br>printf("%d\n",h*60+m);}
執行結果:
9:23
563
3.源程序:
main()
{int a[]={-10,0,15,34},i;
for(i=0;i<=3;i++)
printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);}
執行結果:
-10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F
4.源程序:
main()
{double pi=3.14159265358979,r=5; <br>printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);}
執行結果:
r=5 A=31.4159265359 S=49.3480220054
5.源程序:
#include "math.h";
main()
{double a,b,c; <br>scanf("%lf%lf%lf",&a,&b,&c); <br>if (a+b>c&&a+c>b&&b+c>a) <br>{double s=(a+b+c)/2; <br>printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));}
else printf("Data error!");}
執行結果:
4 5 6
SS=9.9215674165
6.源程序:
main()
{int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56; <br>printf("a=%3d,b=%-4d,c=**%d\nd=%g\ne=%6.2f\nf=%-10.4f**\n",a,b,c,d,e,f);}
7.源程序:
main()
{int a,b,c,m; <br>scanf("%d %d %d",&a,&b,&c); <br>m=a;a=b;b=c;c=m; <br>printf("%d %d %d\n",a,b,c);}
執行結果:
5 6 7
6 7 5
8.源程序:
main()
{int a,b,c; <br>scanf("%d %d %d",&a,&b,&c); <br>printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.); <br>執行結果: <br>6 7 9 <br>average of 6,7 and 9 is 7.33 <br>9.不能。修改後的源程序如下: <br>main() <br>{int a,b,c,x,y; <br>scanf("%d %d %d",&a,&b,&c); <br>x=a*b;y=x*c; <br>printf("a=%d,b=%d,c=%d\n",a,b,c); <br>printf("x=%d,y=%d\n",x,y);}

6 第5章 選擇結構程序設計
一、單項選擇題(第113頁)
1-4.DCBB 5-8.DABD

二、填空題(第115頁)
1.非0 0 2.k==0
3.if (abs(x)>4) printf("%d",x);else printf("error!");
4.if((x>=1&&x<=10||x>=200&&x<=210)&&x&1)printf("%d",x);
5.k=1 (原題最後一行漏了個d,如果認為原題正確,則輸出k=%。)
6. 8! Right!11 7.$$$a=0 8.a=2,b=1

三、編程題(第116頁)
1.有錯。正確的程序如下:
main()
{int a,b,c; <br>scanf("%d,%d,%d",&a,&b,&c); <br>printf("min=%d\n",a>b?b>c?c:b:a>c?c:a);}
2.源程序:
main()
{unsigned long a; <br>scanf("%ld",&a); <br>for(;a;printf("%d",a%10),a/=10);}
執行結果:
12345
54321
3.(1)源程序:
main()
{int x,y; <br>scanf("%d",&x); <br>if (x>-5&&x<0)y=x; <br>if (x>=0&&x<5)y=x-1; <br>if (x>=5&&x<10)y=x+1; <br>printf("%d\n",y);}
(2)源程序:
main()
{int x,y; <br>scanf("%d",&x); <br>if(x<10) if(x>-5) if(x>=0) if(x>=5)y=x+1; <br>else y=x-1; else y=x; <br>printf("%d\n",y);}
(3)源程序:
main()
{int x,y; <br>scanf("%d",&x); <br>if(x<10) if(x>=5)y=x+1; <br>else if(x>=0)y=x-1; <br>else if(x>-5)y=x; <br>printf("%d\n",y);}
(4)源程序:
main()
{int x,y; <br>scanf("%d",&x); <br>switch(x/5) <br>{case -1:if(x!=-5)y=x;break; <br>case 0:y=x-1;break; <br>case 1:y=x+1;}
printf("%d\n",y);}
4.本題為了避免考慮每月的天數及閏年等問題,故採用面向對象的程序設計。
現給出Delphi源程序和C++ Builder源程序。
Delphi源程序:
procere TForm1.Button1Click(Sender: TObject);
begin
edit3.Text:=format('%.0f天',[strtodate(edit2.text) -strtodate(edit1.text)]);
end;
procere TForm1.FormCreate(Sender: TObject);
begin
Edit2.Text:=datetostr(now);
button1click(form1)
end;
C++ Builder源程序:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit3->Text=IntToStr(StrToDate(Edit2->Text)-StrToDate(Edit1->Text))+"天";
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit2->Text=DateToStr(Now());
Button1Click(Form1);
}
執行結果:(運行於Windows下) http://img378.photo.163.com/nxgt/41463572/1219713927.jpg

5.源程序:
main()
{unsigned a,b,c; <br>printf("請輸入三個整數:"); <br>scanf("%d %d %d",&a,&b,&c); <br>if(a&&b&&c&&a==b&&a==c)printf("構成等邊三角形\n"); <br>else if(a+b>c&&a+c>b&&b+c>a) <br>if(a==b||a==c||b==c)printf("構成等腰三角形\n"); <br>else printf("構成一般三角形\n"); <br>else printf("不能構成三角形\n");}
執行結果:
請輸入三個整數:5 6 5
構成等腰三角形
6.源程序:
main()
{int x,y; <br>scanf("%d",&x); <br>if(x<20)y=1; <br>else switch(x/60) <br>{case 0:y=x/10;break; <br>default:y=6;}
printf("x=%d,y=%d\n",x,y);}
7.源程序:
main()
{unsigned m;float n; <br>scanf("%d",&m); <br>if(m<100)n=0; <br>else if(m>600)n=0.06; <br>else n=(m/100+0.5)/100; <br>printf("%d %.2f %.2f\n",m,m*(1-n),m*n);}
執行結果:
450
450 429.75 20.25
8. 2171天(起始日期和終止日期均算在內)
本題可利用第4小題編好的程序進行計算。把起始日期和終止日期分別打入「生日」和「今日」欄內,單擊「實足年齡」按鈕,將所得到的天數再加上1天即可。
9.源程序:
#include "math.h";
main()
{unsigned long i; <br>scanf("%ld",&i); <br>printf("%ld %d\n",i%10,(int)log10(i)+1);}
執行結果:
99887
7 5
10.源程序:
main()
{unsigned long i;unsigned j[10],m=0; <br>scanf("%ld",&i); <br>for(;i;){j[m++]=(i+2)%10;i/=10;}
for(;m;m--)i=i*10+j[m-1];
printf("%ld\n",i);}
執行結果:
6987
8109
(註:要加密的數值不能是0或以0開頭。如果要以0開頭需用字元串而不能是整數。)

7 第6章 循環結構程序設計
一、單項選擇題(第142頁)
1-4.BCCB 5-8.CBCA

二、填空題(第143頁)
1.原題可能有誤。如無誤,是死循環 2.原題有誤。如果把b=1後面的逗號改為分號,則結果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.①d=1.0 ②++k ③k<=n 9.①x>=0 ②x<amin

三、編程題(第145頁)
1. 源程序:
main()
{int i=1,sum=i; <br>while(i<101){sum+=i=-i-2;sum+=i=-i+2;}
printf("%d\n",sum);}
執行結果:
51
2.源程序:
main()
{double p=0,n=0,f;int i; <br>for(i=1;i<=10;i++) <br>{scanf("%lf",&f); <br>if (f>0)p+=f; else n+=f;}
printf("%lf %lf %lf\n",p,n,p+n);}
3.源程序:
main()
{unsigned a; <br>scanf("%ld",&a); <br>for (;a;printf("%d,",a%10),a/=10); <br>printf("\b \n");}
執行結果:
23456
6,5,4,3,2
4.源程序:
main()
{unsigned long a,b,c,i; <br>scanf("%ld%ld",&a,&b); <br>c=a%1000; <br>for(i=1;i<b;i++)c=c*a%1000; <br>if(c<100)printf("0"); <br>if(c<10)printf("0"); <br>printf("%ld\n",c);}
執行結果:
129 57
009
5.略
6.原題提供的計算e的公式有誤(前面漏了一項1)。正確的公式是e= 1 + 1 + 1/2! + 1/3! + … + 1/n! + …
(1)源程序:
main()
{double e=1,f=1;int n; <br>for(n=1;n<=20;n++){f/=n;e+=f;}
printf("e=%.14lf\n",e);}
執行結果:
e=2.71828182845905
(2)源程序:
main()
{double e=1,f=1;int n; <br>for(n=1;f>1e-4;n++){f/=n;e+=f;}
printf("e=%.4f\n",e);}
執行結果:
e=2.7183
7.源程序:
main()
{unsigned long a=0,b=1,c=0;int i,d; <br>scanf("%d",&d); <br>for (i=1;i<=(d+2)/3;i++) <br>printf("%10ld%10ld%10ld",a,b,(a+=b+c,b+=c+a,c+=a+b));}
本題還可以用遞歸演算法(效率很低),源程序如下:
unsigned long fun(int i)
{return i<=3?i:fun(i-1)+fun(i-2)+fun(i-3);}
main()
{int i,d; scanf("%d",&d); <br>for(i=1;i<=d;i++) <br>printf("%10ld",fun(i));}
執行結果:
15
1 2 3 6 11 20 37 68
125 230 423 778 1431 2632 4841
8.源程序:
main()
{int i; <br>for(i=1010;i<=9876;i+=2) <br>if(i/100%11&&i%100%11&&i/10%100%11&&i/1000!=i%10&&i/1000!=i/10%10&&i/100%10!=i%10)printf(" %d",i);}
執行結果:
1024 1026 1028 1032 1034 1036 …… …… 9874 9876
9.源程序:
main()
{int i,j,k; <br>printf("apple watermelon pear\n"); <br>for(i=1;i<=100;i++) <br>for(j=1;j<=10;j++) <br>if((k=100-i-j)*2==400-i*4-j*40) <br>printf("%4d%7d%9d\n",i,j,k);}
執行結果:
apple watermelon pear
5 5 90
24 4 72
43 3 54
62 2 36
81 1 18
10.源程序:
#include "stdio.h";
#define N 4 /* N為階數,可以改為其他正整數 */
main()
{int m=N*2,i,j; <br>for(i=1;i<m;printf("\n"),i++) <br>for(j=1;j<m; <br>putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));}
如果把N值改為5,則執行結果如下:
*
***
*****
*******
*********
*******
*****
***
*