C語言程序設計實驗及代碼_第1頁
C語言程序設計實驗及代碼_第2頁
C語言程序設計實驗及代碼_第3頁
C語言程序設計實驗及代碼_第4頁
C語言程序設計實驗及代碼_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、西南林業(yè)大學C 語言程序設計實驗題、代碼、輸出結果編寫目的:學生的痛,大家都明白,特別是學渣的痛。呃,不過我漸漸從學渣成功逆襲,所以最后才會整理下這些信息,為了讓后面的人在面對這C語言時不會那么腦大,不用像我們開始時候的茫然。認真享受在課堂上 GET知識的過程,接下去的事:作業(yè)考試也是水到渠成的事情,有的課程的卻要花點時間,但就 像那句話說的:No pain,no get. 付出不一定會有收獲,但是不付出一定會讓你后悔。所以,認真聽課,不僅僅只是C 語言,還有其他的課程。實驗題 目及代 碼 、 輸 出 結 果 實驗題目目錄P1P6Printf 簡單輸出三角形P6給定圓半徑值為5,編程求圓面積和

2、圓周長P6編寫一個攝氏溫度與華氏溫度之間的轉換程序P6編寫程序,從鍵盤上輸入兩個電阻值,求它們并聯(lián)電阻值和串聯(lián)電阻值,輸出結果保留兩位小數(shù)。 P7 (有主函數(shù)子函數(shù) P26)使用兩種指定的方法打印正三角形數(shù)陣P7從鍵盤輸入3 個數(shù)字字符,將它們分別轉換為對應的整數(shù)值(即字符0轉換為整數(shù)0,字符1轉換為整數(shù) 1,依次類推),然后求3個整數(shù)的平均值。P8從鍵盤輸入兩個兩位的正整數(shù),按照以下格式組裝成一個四位的正整數(shù)。P8 (指針變量 P19)輸入三角形的三條邊長,求三角形的面積。P9從鍵盤任意輸入3 個整數(shù),選出其中的最大數(shù)并打印。-P10從鍵盤輸入三個正整數(shù),判斷否能構成三角形的三邊?-P10從

3、鍵盤輸入一個合法的算術運算符(+、-、*、/)及兩個實數(shù),使用if 語句編寫程序,根據(jù)輸入的運算符判斷對這兩個實數(shù)進行何種運算,弁打印運算結果(要求結果保留兩位小數(shù))。P11 (有主函數(shù)子函數(shù)P21)從鍵盤輸入一個年份和一個月份,使用switch語句編程判斷弁打印該月的天數(shù)P12從鍵盤輸入1個整型的分數(shù),使用switch語句編程,判斷如果分數(shù)介于0 59分之間就打印“不及格”;如果介于60 79分之間就打印“及格”; 如果介于80 89之間就打印“良好”;如果介于90 100之間就打印“優(yōu) 秀”。P13使用while語句編程求100以內能被5整除但不能同時被7整除的數(shù),弁統(tǒng)計找到的數(shù)的個數(shù)。

4、P13從鍵盤輸入一個正整數(shù),使用 while語句編程求該整數(shù)是一個幾位數(shù)。P14使用 while語句編程求 = 一的前 n項和P14使用for語句編程求 = 的前n項和P15使用for語句編程求 =的前 n項和P16使用for語句的嵌套結構編程打印九-九乘法表P16定義一個大小為10的整型一維數(shù)組,初始化所有數(shù)組元素,編程查找數(shù)組中的所有奇數(shù),弁統(tǒng)計奇數(shù)的個數(shù) P17定義一個大小為10的整型一維數(shù)組,初始化其中的 9個元素,這9個元素已經(jīng)按照降序排列。 從鍵盤再輸入1個整數(shù),將該整數(shù)插入到已有的元素中,需保證這10個數(shù)仍然按照降序排序。P18利用指針編程,其功能是求電阻的弁聯(lián)值和串聯(lián)值。 P1

5、8利用指針編程,其功能是利用“除號”和“求余號”將輸入的兩個兩位的正整數(shù)組合成一個新的四位的正整數(shù)。 P16定義一個大小為10的整型一維數(shù)組弁初始化數(shù)組元素,再定義一個指 針變量讓其指向該數(shù)組,利用指針編程查找數(shù)組中的所有奇數(shù)。P20輸入三角形的三條邊長,定義一個子函數(shù)fun()求三角形的面積P21定義一個子函數(shù)fun()打印菱形。P22定義一個子函數(shù)fun(),其功能是求1累加到100的和P23定義一個子函數(shù)fun(),求表達式 =的前n項和P23定義一個fun()函數(shù),其功能是:求兩個整數(shù)的和、差、積、商。P26在主函數(shù)中輸入一元二次方程ax2+bx+c=0的三個系數(shù)a、b、c,求方程的實

6、根。定義三個子函數(shù)fun1(卜fun2(卜fun3()分別處理方程有無實根、有兩個相同實根、有兩個不同實根的情況P27從鍵盤上輸入一個的字符串,輸出所有ASCII碼為奇數(shù)的字符,弁統(tǒng)計這些字符的個數(shù)。 P28從鍵盤上輸入一個由大寫字母、小寫字母、數(shù)字字符、其它字符構成的字符串,統(tǒng)計字符串中的大寫字母個數(shù)、小寫字母個數(shù)、數(shù)字字符個數(shù)、其它字符個數(shù)。P28從鍵盤輸入兩個字符串, 分別存到字符數(shù)組a和字符數(shù)組b中,編程將第二個字符串連接到第一個字符串末尾,形成一個新字符串。(不使用#include<string.h> 庫函數(shù))P29使用while語句編程求 二(n從0開始)前n項值,直到

7、某一項的值小于10-6就結束循環(huán)。P30使用for語句的嵌套結構編程打印行數(shù)為奇數(shù)的對稱三教菱形P31從鍵盤輸入一個正整數(shù) X,編程求比x大的,最臨近x的n個素數(shù),例 如,為x和n分別輸入數(shù)值1訴口 15,就表示求出比10大的,最臨近10的15個素數(shù)。P31題目及答案printf()函數(shù)的編程練習格式1編程輸出如圖所示的三角形。void main()printf("*n ");printf("*n ");printf("*n ");printf("*n ");給定圓半徑值為5,編程求圓面積和圓周長提示:(1)本題需

8、定義三個浮點型變量,如 double r = 5, s, l;(2)輸出浮點型數(shù)據(jù)的格式說明符是lf(3) C語言中沒有n這個符號,編寫程序時直接使用3.14159(4) C語言中沒有求次方的運算符,求次方可用連乘的方法#include<stdio.h>#define PI 3.14159 int main()float r=5;printf("圓半徑=%lfn 圓面積=%fn 圓周長=%fn",r,PI*r*r,2*PI*r);(其中一個數(shù)的n次方可以用數(shù)學運算來算pow(r,n), “r”為底數(shù),n為次數(shù))scanf()函數(shù)、運算符編程練習編寫一個攝氏溫度與

9、華氏溫度之間的轉換程序,轉換公式是:提示:該公式中的C'是一個從鍵盤輸入的已知量;F” 是通過公式計算并打印出來的未知量#include <stdio.h> void main()double F,C;printf("請輸入一個攝氏溫度值:”,C);scanf("%lf",&C);F=1.8*C+32/或F=9/5*C+32若定義類型為int,則需要變?yōu)?F=9.0/5*C+32或 F=9/5.0*C+32或用強制類型轉換 F= (double) (9/5) *C+32;原因是除號“ /”在運 算時為整型運算printf("對

10、應的華氏溫度值是:%.2lf',F);編寫程序,從鍵盤上輸入兩個電阻值,求它們并聯(lián)電阻值和串聯(lián)電阻值,輸出結果保留 兩位小數(shù)。運行結果如圖所示:注:并聯(lián)和串聯(lián)的電阻值計算公式如下。(1)并聯(lián)電阻RP =R1*R2R1+R2(2)串聯(lián)電阻 RS = R1+R2提示:(1) scanf()函數(shù)可以寫成 scanf("%d,%d", &r1, &r2);(2)結果保留兩位小數(shù)的格式說明符是“ .2lf ”。#include <stdio.h>void main()double R1,R2,RP,RS;printf("請輸入兩個電阻值:

11、",R1,R2);scanf("%lf,%lf",&R1,&R2);RP=(R1*R2)/(R1+R2);RS=R1+R2;printf("并聯(lián)電阻值:.2lf n串聯(lián)電阻阻值:.2lf",RP,RS); 字符的輸入和輸出1、使用兩種指定的方法打印如圖所示圖形。方法一:使用printf() 函數(shù)的%C'格式打印圖形。方法二:使用printf()方法一:#include<stdio.h> void main() printf("%4dn %4dn %dn”,1,22 2,33333);%法二:#inc

12、lude<stdio.h>void main()char a,b,c;a='1'b='2'c='3'printf(" %cn", a);printf(" %c%c%cn", b,b,b);1、從鍵盤輸入3個數(shù)字字符,將它們 分別轉換為對應的整數(shù)值(即字符0' 轉換為整數(shù)0,字符1'轉換為整數(shù)1, 依次類推),然后求3個整數(shù)的平均值。 運行結果如圖所示:提示:本題的變量定義可參考如下:char a, b, c; / 變量 a,b,c保存輸入的3個數(shù)字字符int x, y, z; /

13、 變量 x,y,z保存轉換后的3個整數(shù)double aver; / 變量 aver 保 存求出的平均值#include<stdio.h>#include<math.h>void main(void)double a,b,c,d;函數(shù)的%d格式打印圖形printf("%c%c%c%c%cn",c,c,c,c, c);方法二的類似(運用 ASCL網(wǎng))#include<stdio.h>void main()int a,b,c;a=49;b=50c=51;printf(" %cn", a);printf(" %c%c

14、%cn", b,b,b);printf("%c%c%c%c%cn",c,c,c,c, c);printf("請輸入三個數(shù)字字符:");scanf("%lf,%lf,%lf',&a,&b,&c);d=(a+b+c)/3;printf("平均值=%lfn",d);#include <stdio.h>void main(void)(char a,b,c;int x,y,z;double aver;printf("請輸入三個數(shù)字字符:”);scanf("%c,

15、%c,%c",&a,&b,&c);x=a-48;y=b-48;z=c-48;aver=(x+y+z)/3.0;printf(" 平 均 值 為:2lf',aver)提示:一個%C只能打印一個字符。從鍵盤輸入兩個兩位的正整數(shù),按照以下格式組裝成一個四位的正整數(shù)。例如:輸入12和34,組裝成的四位數(shù)是1324。運行效果如右圖所示:提示:(1)首先利用 除號”和求余號”分別把兩個兩位正整數(shù)的十位數(shù)、個位數(shù)分離開;再經(jīng)過數(shù)學運算組裝成一個四位數(shù)。(2) scanf()函數(shù)可以寫成 scanf("%d%d", &a, &am

16、p;b);匕三 *C:estDebugprog. eze"請輸入兩個兩位的正整數(shù);12 34 里百成的四位正整數(shù)是:1324Press fliny key to< cant inueH#include<stdio.h>#include<math.h>void main(void)int a,b,z;printf("請輸入兩個兩位數(shù)的正數(shù):");scanf("%d %d",&a,&b);z=a/10*1000+b/10*100+a%10*10+b%10;printf("合成的四位正整數(shù)是:d

17、n",z);數(shù)學函數(shù)的使用1、輸入三角形的三條邊長,求三角形的面積。運行結果如圖所示:提示:(1)本題的變量定義可參考如下:int a, b, c; double x, s;(2) scanf()函數(shù)可以寫成scanf("%d,%d,%d", &a, &b, &c);(3)計算三角形面積的公式是:(4)求x的開方值的庫函數(shù)是 sqrt(x),使扁心包含頭文件math.h#include<stdio.h>#include<math.h>void main(void)int a,b,c;double x,s;printf

18、(" 請輸入三角形的三邊:");scanf("%d %d %d",&a,&b,&c);x=(a+b+c)/2;s=sqrt(x-a)*(x-b)*(x-c)*x);printf("s=%lfn",s);單分支 if 語句編程練習從鍵盤任意輸入3 個整數(shù),選出其中的最大數(shù)并打印。提示 :( 1) 要判斷最大數(shù),需對每兩個數(shù)作兩兩比較。( 2) 可以使用3 個 單分支 if 語句編寫程序。( 3) 從鍵盤輸入2 個整數(shù)到變量a、 b 中,編程總是把較小的數(shù)放入a 中,較大的數(shù)放入b 中。#include <s

19、tdio.h>void main()int a,b,c,t;printf(" 請輸入三個整數(shù):");scanf("%d%d%d",&a,&b,&c);if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;if(b<c)t=b;b=c;c=t;printf(" 最大數(shù)是:%dn",a);#include <stdio.h>void main()int a,b,t;printf(" 請輸入兩個整數(shù)到變量 a,b 中 ");scanf(&q

20、uot;%d%d",&a,&b);printf("a=%d,b=%dn",a,b);if(a>b)t=a;a=b;b=t;printf(" 運 行 結果 :a=%d,b=%dn",a,b);elseprintf(" 運 行 結果 :a=%d,b=%dn",a,b);從鍵盤輸入三個 正整數(shù),判斷否能構成三角形的三邊?如果能就按照以下提示 的數(shù)學公式計算三角形的面積;如果不能,就輸出“不能構成二角形”的提示信息C提示:(1)該題屬于 雙分支if-else 語句”結構。(2)能構成三角形的邏輯條件是:任意的兩

21、邊之和均要大于第三邊。(3)計算三角形面積的公式是:(4)本題的變量定義可參考如下:int a, b, c;其中 double x, s;(5)本題要用到求x開方值的數(shù)學庫函數(shù)sqrt(x),需包含頭文件math.h#include<stdio.h>#include<math.h>void main(void)int a,b,c,m,n,t;double x,s;printf("請輸入三角形的三邊:");scanf("%d %d %d",&a,&b,&c);m=a+b;n=b+c;t=a+c;if(m>

22、;c&&n>a&&t>b)x=(a+b+c)/2;s=sqrt(x-a)*(x-b)*(x-q*x);printf("構成的三角形面積是:%.2lfn",s);elseprintf("不能構成三角形n");從鍵盤輸入一個合法的算術運算符(+、-、*、/)及兩個實數(shù),使用if語句編寫程序,根據(jù)輸入的運算符判斷對這兩個實數(shù)進行何種運算,并打印運算結果(要求結果保留兩位小數(shù))。程序運行效果如下圖所示:提示:(1)該題屬于多分支if語句”結構。(2)本題的變量定義可參考如下:char fu; /fu變量用來存放運算符d

23、ouble x, y, z; /x、y變量用來存放輸入的2個實數(shù),z存放運算結果(3)輸入字符型數(shù)據(jù)的格式說明符是 c,實型數(shù)據(jù)的格式說明符是 %lf o(4)輸出實數(shù)保留2位小數(shù)的格式說明符是 .2lf。(5)本題可參考教材P61例3.7 ,但是不允許使用switch語句編寫該題程序。#include<stdio.h>void main()char fu;double x,y,z;int t,a;printf("請輸入一個算數(shù)運算符和兩個浮點數(shù)");scanf("%c %lf %lf",&fu,&x,&y);t=47

24、-fu;if(t=4)z=x+y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else if(t=5)z=x*y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else if(t=2)z=x-y;printf("%.2lf %c %.2lf = %.2lfn",x, fu ,y ,z);else if(t=0)z=x/y;printf("%.2lf%c %.2lf=%.2lfn",x,fu ,y ,z);elseprint

25、f(" 運算符非法,無法參與運算n");從鍵盤輸入一個年份和一個月份,使用 switch 語句編程判斷并打印該月的天數(shù)。程序運行效果如下所示: 提示:( 1)本題先使用if 語句 判斷年份和月份是否有效。( 2)如果年份和月份有效,再嵌套switch 語句判斷每個月份的天數(shù)。(3)對于2月份的處理需要判斷閏年,閏年的判斷方法請 參考教材P6第J3.8#include<stdio.h>void main()int year,month,day printf(" 請輸入一個年份和一個月份:;");scanf("%d %d",&

26、amp;year,&month);if(month>0&&month<=12)switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("%d 月有 31 天 n",month);break;case 4:case 6:case 9:case 11:printf("%d 月有 30 天 n",month);break;default:if(year%4=0&&year%100!=0)|(year%400=0)printf

27、("2 月有29 天 n");elseprintf("2 月有28 天 n");break;elseprintf(" 輸入的月份值無效!");從鍵盤輸入1 個整型的分數(shù),使用 switch 語句編程 ,判斷如果分數(shù)介于0 59“”; 如果介于60 79 分之間就打印“及格”; 如果介于80 89“”; 如果介于90 100 之間就打印“優(yōu)秀”。#include<stdio.h>void main()int a,b;printf(" 請輸入一個分數(shù)介于<0 100>間:");scanf(&qu

28、ot;%d",&a);if(a>0&&a<=100)b=a/10;switch(b)case 6:printf(" 及格 n");break;case 8:printf(" 良好 n");break;case 9:case 10:printf(" 優(yōu)秀 n");break;default:printf(" 不及格 n");break;case 7:else效! n");printf("輸入的分數(shù)份值無 使用while語句編程求100以內能被5整除但不

29、能同時被7整除的數(shù),并統(tǒng)計找 到的數(shù)的個數(shù)。提示:(1)該題變量可定義為:int i=1, n=0;/ i是循環(huán)變量,n是統(tǒng)計個數(shù)的變量(2)整除問題應使用求余號“%而不能使用除號”/#include<stdio.h>void main()int i,n,b,c;i=1;n=0;printf("100以內能被5整除 但不能司時被7整除的數(shù)是:n");while(i<=100)b=i%5;從鍵盤輸入一個正整數(shù)c=i%7; if(b=0&&c!=0) printf("%d ",i); n=n+1; i+;人 printf(&

30、quot;符合條件的數(shù)有 %d 個 n",n);使用while語句編程求該整數(shù)是一個幾位數(shù)。程序運行效果如下所示:提示:(1)該題變量可定義為int x, n=0, m;其中,x保存輸入的正整數(shù),n統(tǒng)計位數(shù),m暫存x的值。(2)每次循環(huán)將x的值縮小10倍,直到x縮小為0即結束循環(huán),循環(huán)次數(shù)就是整數(shù)的位數(shù)。#include<stdio.h>void main()int x,n,m,i;n=0;printf("請輸入一個正整數(shù):");scanf("%d",&x);i=x;while(m!=0)m=x/10;n+;x=m;prin

31、tf("%d 是一個 d 位數(shù) n",i,n);使用while語句編程求以下表達式的值,程序運行結果如圖所示: 提示:(1)該題變量可定義為:int i;(2)本題的循環(huán)體里有3個通式:分母的通式、當前項的通式、求和的double mu, t, sum;sum=1/mu+t;t=sum;i+;mu=mu+i;printf("表達式的值為:n"); printf("sum= %fn",sum);如果從鍵盤輸入20賦t=sqrt(i,2); b=b+t;通式、i自增的通式#include<stdio.h>void main()

32、int i;double mu,t,sum;mu=1;t=0;i=1;while(i<=10)for語句編程練習1、使用for語句編程求以下表達式的值,值給變量n,則運行效果如圖所示: 提示:(1)該題變量可定義為int i, n; double t, sum;(2)本題需用到求開方值的數(shù)學函數(shù) sqrt(),并包含頭文件math.h#include<stdio.h>#include<math.h>void main()int i,n;double t,sum,b=0;printf("請輸入整數(shù)值:");scanf("%d"

33、,&n);sum=0;for(i=0;i<=20;i+) sum=sum+b; printf("sum=%lfn",sum);使用for語句編程求以下表達式的值,程序運行結果如圖所示:提示:(1)注意觀察可知相鄰兩項中,后一項的分母是前一項的分母加i值(2)該題變量可定義為:int i;double mu, t, sum;其中i是循環(huán)變量,mu保存每一次循環(huán)的當前項的分母,t保存每一次循環(huán)的當前項,sum保存N項式的總和#include<stdio.h>void main()int i;double t=0,sum=0,mu=0;for(i=1;i

34、<=10;i+)mu=mu+i;t=1/mu;sum=sum+t;printf("表達式值為:n");printf("sum=%lfn",sum);循環(huán)的嵌套編程練習 使用for語句的嵌套結構編程打印九-九乘法表,程序運行效果如圖所示:#include<stdio.h>void main()int i,m,n;for(i=1 ;i<10;i+)for(m=1;m<=i;m+)n=i*m;printf("%d*%d=%d ",m,i,n);printf("n");定義一個大小為10的整型

35、一維數(shù)組,初始化所有數(shù)組元素,編程查找數(shù)組中的所有奇數(shù),并統(tǒng)計奇數(shù)的個數(shù)。運行效果如圖所示: 提示:(1) 本題變量定義可參考如下int a10=2,4,5,6,9,11,13,16,17,19, i, sum=0;(2)首先用一個for循環(huán)打印10個數(shù)組元素的初值。(3)再用一個for循環(huán)嵌套if語句查找并打印數(shù)組中的奇數(shù)。(1)源程序粘貼在此處。#include<stdio.h>/#define N 10 void main() inta10=2,4,5,6,9,11,13,16,17,1 9, i,n=0;printf("數(shù)組中的初始值是:");for(i

36、=0;i<10;i+) printf("%d ",ai);printf("n");printf("n");printf("數(shù)組中的奇數(shù)是:");for(i=0;i<=10;i+)if(ai%2!=0) printf("%d ",ai);n+;printf("n");printf("n");printf(" 奇 數(shù) 個 數(shù) 是:dn",n);定義一個大小為10的整型一維數(shù)組,初始化其中的 9個元素,這9個元素已經(jīng)按照降序排列。

37、從鍵盤再輸入1個整數(shù),將該整數(shù)插入到已有的元素中,需保證這10個數(shù)仍然按照降序排序。程序運行效果如下圖所示: 提示:(1)本題變量定義可參考如下int a10=20, 18, 15, 12, 10, 9, 7, 5, 2, i, j, t;(2)本題使用冒泡法排序,先將鍵盤輸入的1個整數(shù)放到數(shù)組元素a9中,然后#include<stdio.h> /#define N 10 void main()使用排序算法對這10個數(shù)進行降序排序。int a9= 20, 18, 15, 12, 10, 9, 7, 5, 2;int i,j,t,printf(" 數(shù)組中刖面9個兀素是:n&

38、quot;);for(i=0;i<9;i+) ");printf("%d ",ai);printf("n");printf("n");printf("請輸入一個整數(shù):scanf("%d",&a9);printf("n");printf(" 數(shù)組中的10個元 素是:n");for(i=0;i<10;i+)printf("%d ",ai);printf("n");printf("n"

39、;);for(i=0;i<10;i+)數(shù)為:for(j=0;j<9-i;j+) I!if(aj<aj+1)t=aj; aj=aj+1; aj+1=t; printf(" 降序排序后的整);for(i=0;i<10;i+)printf("%d ",ai);printf("n");利用指針編程,其功能是求電阻的并聯(lián)值和串聯(lián)值。程序運行效果如圖所示: 要求:輸入電阻值;計算并聯(lián)串聯(lián)值;打印結果都必須使用指針完成。提示:(1)該題的變量可定義為int r1, r2, *p1, *p2;double rp, rs, *pp, *p

40、s;其中指針pl、p2用來指向并操作變量ri、r2 ;指針pp、ps用來指向并操作變量rp、 rs o(2)在利用指針編程之前,應將指針指向對應的變量。#include<stdio.h> void main() int ri, r2, *p1, *p2;double rp, rs, *pp, *ps;printf("請輸入兩個電阻值");scanf("%d %d",&r1,&r2);p1=&r1;p2=&r2;rp=(double)(*p1 * *p2) / (double)(*p1 + *p2); rs=*p

41、1+*p2;pp=&rp;ps=&rs;printf(" 并聯(lián)電阻組織=%lfn",*pp);print他串聯(lián)電阻組織 =%lfn",*ps);利用指針編程,其功能是利用除號”和求余號”將輸入的兩個兩位的正整數(shù)組合成一個新的四位的正整數(shù)。要求 :輸入整數(shù)值;計算;打印結果都必須使用指針完成。提示 :該題的變量可定義為int a, b, c, *pa, *pb, *pc;其中指針pa、pb、pc分別用來指向并操作變量a、b、c。變量a、b用來存放輸入的兩個兩位正整數(shù),變量c 用來存放組合后的四位的正整數(shù)。 方法一 #include<stdio.

42、h>void main()int a,b,c,*pa,*pb,*pc;printf(" 請輸入兩個兩位數(shù)的正整數(shù):");scanf("%d %d",&a,&b);pa=&a;pb=&b;c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10;pc=&c;printf(" 組合成的四位正整數(shù)是:%dn",*pc); 方法二 #include<stdio.h>void main()int a,b,c,*pa,*pb,*pc;printf(" 請

43、輸入兩個兩位數(shù)的正整數(shù):");pa=&a;pb=&b;scanf("%d %d",pa,pb);c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10;pc=&c;printf("%dn",*pc);/ Int前不能空行,不然無法識別。定義一個大小為10的整型一維數(shù)組并初始化數(shù)組元素,再定義一個指針變量讓其指向該數(shù)組,利用指針編程查找數(shù)組中的所有奇數(shù) 。運行效果如圖所示: 提示:1) 該題變量可定義為int a10=2,4,5,6,9,11,13,16,17,19, *p, i;2)在使用指針

44、編程之前,應先將指針p 指向數(shù)組。要求: 使用“ 下標法 ”編程,即使用“pi 方法一 #include<stdio.h>void main()inta10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0;p=&ai; ( p=a; )printf(" 數(shù)組中的初始值是:");for(p=a,i=0;i<10;i+)(for(i=0;i<10;i+)printf("%d ",pi);printf("n");printf("n");printf(" 數(shù)組中

45、的奇數(shù)是:");for(p=a,i=0;i<=9;i+)(for(i=0;i<=9;i+)if(pi%2!=0) printf("%d",pi);n+;printf("n");printf("n");printf(" 奇 數(shù) 個 數(shù)是: %dn",n); 方法二 #include<stdio.h> void main()int a10=2,4,5,6,9,11,13,16,17,1 9,*p,i,n=0;p=a;的形式引用數(shù)組元素。");for(i=0;i<10;i

46、+)printf("%d ",pi);printf("n");printf("n");printf(" 數(shù)組中的奇數(shù)是:");for(i=0;i<=9;i+)if(pi%2!=0) printf("%d",pi);n+;printf("n");printf("n");printf(" 奇 數(shù) 個 數(shù)printf(" 數(shù)組中的初始值是:是: %dn",n);輸入三角形的三條邊長,定義一個子函數(shù) fun()求三角形的面積。運

47、行結果如圖所示: 要求:(1)數(shù)據(jù)輸入和結果打印都必須在main()函數(shù)中完成(2) fun()函數(shù)的功能是求三角形的面積。(1)計算三角形面積的公式是:1 ,,、x = (a b c) 2提示:s = Jx(x_a)(x-b)(x-c)其中計算x的開方值的庫函數(shù)是 sqrt(xf",使用時需包含頭文件 math.h(3) fun()函數(shù)的函數(shù)首部可參考如下double fun(int a, int b, int c)該函數(shù)有3個形參,返回值類型為double#include<stdio.h>#include<math.h>double fun(int a,i

48、nt b,int c)double m;double d,s;d=(a+b+c)/2;s=sqrt(d-a)*(d-b)*(d-c)*d);return(s);void main()int a,b,c;double m;printf("請輸入三角形的三邊:");scanf("%d %d %d",&a,&b,&c);m=fun(a,b,c);printf("三形面積=%lfn",m);定義一個子函數(shù)fun()打印菱形。運行結果如圖所示: 要求:菱形的行數(shù)在main()函數(shù)中輸入,根據(jù)輸入的行數(shù)決定菱形打印幾行提示

49、:( 1) fun( ) 函數(shù)的函數(shù)首部可參考如下void fun(int x) / 該函數(shù)有1 個形參,無返回值( 2)在fun( ) 函數(shù)內部,首先根據(jù)形參x 的值計算出正三角和倒三角的行數(shù),然后再執(zhí)行循環(huán)的嵌套結構分別打印正三角和倒三角。#include<stdio.h>void fun(int x)int i,j,k;for(i=1;i<=x/2+1;i+)for(k=1;k<=x/2+2-i;k+) printf(" ");for(j=1;j<=2*i-1;j+)printf("*");printf("n

50、");for(i=1;i<=x/2;i+)printf(" ");定義一個子函數(shù)fun( ) ,其功能是求要求 :結果在子函數(shù)打印。for(k=1;k<=i;k+)printf(" ");for(j=1;j<=x-2*i;j+)printf("*");printf("n");void main()int a;printf(" 請輸入菱形的行數(shù)(注意:行數(shù)為奇數(shù)): ");scanf("%d",&a);fun(a);1 累加到 100 的和。

51、提示 : ( 1) fun( ) 函數(shù)寫在前,main( ) 函數(shù)寫在后。( 2) fun( ) 函數(shù)定義為無參、無返回值形式。#include<stdio.h> void fun()int i,sum=0;for(i=1;i<=100;i+)sum=sum+i;printf("1+2+3+100=%dn",sum);printf("n");void main()fun();定義一個子函數(shù)fun(),求表達式Sn = 1 + %,! , %! , %! + %!的值。主函數(shù)定義如下所示,請完成 fun()函數(shù)#include<st

52、dio.h> double fun(int n);void main()int n;double sum;printf("請輸入n的值:");scanf("%d",&n);sum=fun(n);printf("sum=%lfn",sum);double fun(int n)int i;double a=1,b,sum=1;for(i=1;i<=n;i+)a=(double)a*i;b=(double)1/a;sum=sum+b;return(sum);2、定義一個子函數(shù)fun( ) 求算術表達式的解。要求 :運算符

53、(+, -, *, /, % )和兩個整數(shù)在主函數(shù)輸入,結果也在主函數(shù)打印。提示: ( 1)主函數(shù)內先判斷運算符的有效性,如果運算符有效,就調用fun( )函數(shù)。如果運算符非法,就打印錯誤提示信息,不調用fun( ) 函數(shù)。( 2) fun( ) 函數(shù)的函數(shù)首部可以參考如下double fun(char fu, int a, int b)double fun(char fu, double x, double y ,int t)double ans;if(t=4)ans=x+y;else if(t=5)ans=x*y;else if(t=2)ans=x-y;else if(t=0) ans=x

54、/y; /* elseprintf("運算符非法,無法參與運算n");*/return (ans);#include<stdio.h>void main()char fu;double x,y,z;int t;printf("請輸入一個算數(shù)運算符和兩個浮點數(shù)");scanf("%c %lf %lf",&fu,&x,&y);t=47-fu;if(t=4|t=5|t=2|t=0)z=fun(fu,x,y,t);printf("%.21f %c %.2lf=%.2lfn",x ,fu

55、,y ,z);elseca "C:De 5kt opli.Debug T ewt. j二青領入2個電電喧:2, 3 并密電阻值=1.200000并攜電阻值=S.000000Press any key to continue其中形參fu代表運算符,形參a、b代表參與運算的兩個數(shù),函數(shù)返回類型為double ,表示函數(shù)的運行結果是實數(shù)printf("運算符非法,無法參與運算n");傳地址”方式編程參數(shù)的“傳值”方式與“傳地址”方式編程練習i、在主函數(shù)中輸入2個電阻值,定義-個11mmi子函數(shù)求這2個電阻 M 4/的并聯(lián)電阻值和串聯(lián)電阻值,并在主函數(shù)中輸出運算結果。程序

56、運行效果如圖所示:提示:(1)主函數(shù)中的變量定義可參考如下double a, b, bing, chuan;(2)子函數(shù)為有參、無返回值的形式。#include<stdio.h>void fun(double a,double b)(double bing,chuan;bing=(a*b)/(a+b);chuan=a+b;printf("并聯(lián)電阻阻值=%lfn",bing);g C:Docu>ent s an.printf(" 串聯(lián)電阻阻值=%lfn",chuan);return;void main()double a,b,bing,c

57、huan;printf("請輸入兩個電阻值:");scanf("%lf%lf",&a,&b);fun(a,b);2、定義一個fun()函數(shù),其功能是: 求兩個整數(shù)的和、差、積、商。程序 運行效果如圖所示:要求:兩個整數(shù)值在主函數(shù)中輸入,運算結果在主函數(shù)中輸出。子函數(shù)是進行運算。提示:(1) main()函數(shù)的變量定義為int a, b, he, cha, ji; double shang ;(2)本題需使用參數(shù)的傳地址方式,fun()函數(shù)有6個參數(shù)。fun() void fun(int a, int b, int *he, int *ch

58、a, int *ji, double *shang)#include<stdio.h>void fun(int a, int b, int *he, int *cha,int *ji, double *shang)*he=a+b;*cha=a-b;*ji=a*b;*shang=(double)a/(double)b;void main()int a, b, he, cha, double shang ;printf("請輸入兩個整數(shù):");scanf("%d%d",&a,&b);fun(a,b,&he,&cha,&ji,&shang);printf("和:%d + %d = %d n",a,b,he); printf("差:%d - %d = %d n",a,b,cha);函數(shù)首部為:printf("積:%d * %d = %d n",a,b,ji);printf("商:d / %d%lf n",a,b,shang);在主函數(shù)中輸入一元二次方程 ax2+bx+c=0的三個系數(shù)a、b、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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論