《實(shí)驗(yàn)四ing 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《實(shí)驗(yàn)四ing 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) (一)編程,輸入一批整數(shù),先求出其中的偶數(shù)和及奇數(shù)和,然后輸出偶數(shù)和與奇數(shù)和的差輸入輸出示例:輸入一批整數(shù):10 11 20 33Ctrl+ZSub=-14提示:從鍵盤輸入Ctrl+Z,表示一批數(shù)據(jù)輸入結(jié)束思考:如何從輸入的數(shù)中找出一個(gè)最小的數(shù)。#include int main()intsub=0,n;char c;doscanf(%d,&n);if (n%2=0)sub+=n;elsesub-=n;while(c=getchar()!=n);printf(sub=%dn,sub);return 0;思考題#include int main()inti=0,num,
2、min;char c;doscanf(%d,&num);if (i=0)min=num;i+;if(num=min)min=num;while(c=getchar()!=n);printf(最小數(shù)%dn,min);編程,輸入個(gè)正實(shí)數(shù)eps,計(jì)算并輸出下式的值,十到最后一項(xiàng)的絕對值小于eps。輸入輸出示例:Input eps:0.00001S = 0.866977思考:如果條件改為前后2項(xiàng)的絕對值的差小于eps,如何編程。#include int main()intf=1,i=1;float s=0,eps;printf(input eps: );scanf(%f,&eps);while (1/
3、i)=eps)【思考題】while(1-i/1)=eps);s=s+f*1/i;f=-f;i+=4;printf(s=%f,s);fflush(stdin);getchar();return 0;1 編程,輸入1個(gè)實(shí)數(shù)x,計(jì)算并輸出下式的值,直到最后一項(xiàng)小于10-5。要求定義和調(diào)用函數(shù)fact(n)計(jì)算n的階乘,以及定義和調(diào)用函數(shù)mypow(x,n)計(jì)算xn。輸入輸出示例:X=2S=3.761949提示:輸入不同的正整數(shù)和負(fù)整數(shù)驗(yàn)證結(jié)果思考:如何計(jì)算的值。#includeconst double e = 1e-5;int fact(int n) int i; int ans; ans = 1;
4、 for (i = 1 ; i = n ; i+) ans = ans * i; return ans;double mypow(double x, int n) int i; double ans; ans = 1; for (i = 0 ; i e); printf(s = %fn,s);思考題在原題上變動2 編程,輸入一個(gè)整數(shù),求它的各位數(shù)字之和及位數(shù)。例如123的各位數(shù)字之和是6,位數(shù)是3.輸入輸出示例:輸入一個(gè)整數(shù):1234512345有5位數(shù),各位數(shù)字之和是15提示:n表示一個(gè)整數(shù),則n%10取個(gè)位數(shù),n=n/10去掉個(gè)位數(shù),組成一個(gè)新數(shù)。思考:如果要把每位數(shù)字轉(zhuǎn)換為字符輸出,如何
5、編程。(思考題不會做)#include void main() int a,i=0,sum=0; scanf(%d,&a); while(a!=0) sum+=(a%10); a/=10; i+; printf(%d位數(shù), 各位數(shù)字之和為%dn,i,sum);3 改錯(cuò),輸入2個(gè)整數(shù),分別將其逆向輸出。輸入輸出示例:123 321123的逆向是321321的逆向是123源程序(有錯(cuò)誤的程序)#includeint fun(int n) int m,y; y=0; if(n=0) return y;改為-y else return y; 改為yvoid main() int n,m; scanf(“%d%d”,&n,&m); printf(“%d的逆向是%dt”,n,fun(n); printf(“%d的逆向是%dt”,m,fun(m);提示:模仿1調(diào)試程序,在變量窗口中觀察變量值的變化,讀者還可以在Watch窗口輸入不同變量的值來驗(yàn)證程序的正確性。實(shí)驗(yàn)報(bào)告要求將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問題和解決問題的方法,以及實(shí)驗(yàn)過程中的心得體會,寫在實(shí)驗(yàn)報(bào)告上。