C語(yǔ)言程序簡(jiǎn)單例子--精選文檔_第1頁(yè)
C語(yǔ)言程序簡(jiǎn)單例子--精選文檔_第2頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 實(shí)驗(yàn)二參考答案1輸入兩個(gè)整型數(shù)字,輸出他們的和。#include<stdio.h>main() int a, b, sum; scanf(“%d%d”, &a, &b); sum=a+b; printf(“a+b=%d”, sum);2輸入兩個(gè)實(shí)型數(shù),輸出他們的和與乘積。#include<stdio.h>main() float a, b, sum, product; scanf(“%f%f”, &a, &b); sum=a+b; product=a*b; printf(“a+b=%5.2f, a*b =%5.2f”, sum, pro

2、duct);3求方程的根(設(shè))(其中a,b,c的值由鍵盤輸入)。#include<stdio.h>#include<math.h>main() float a, b, c, dt, x1, x2; scanf(“%f%f%f”, &a, &b, &c); dt=sqrt(b*b-4*a*c); x1=(-b+dt)/(2*a); x2=(-b-dt)/(2*a); printf(“x1=%5.2f, x2 =%5.2f”, x1, x2);4雞兔同籠,已知雞兔總頭數(shù)為h,總腳數(shù)為f,求雞兔各多少只?(h和f的值由鍵盤輸入,輸出雞和兔的頭數(shù))#in

3、clude<stdio.h>main() int h, f, x,y; scanf(“%d%d”, &h, &f); x=2*h-f/2;y=f/2-h; printf(“x=%d, y =%d”, x, y);實(shí)驗(yàn)三參考答案1.輸入三個(gè)數(shù)a、b、c,要求按由小到大的順序輸出。#include<stdio.h>main() float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) t=a; a=b; b=t; if(a>c) t=a; a=c; c=t; if(b>c)

4、 t=b; b=c; c=t; printf(“%f,%f,%f”,a,b,c);2編寫程序,輸入三角形三邊 a、b、c,判斷a、b、c能否構(gòu)成三角形,若不能則輸出相應(yīng)的信息,若能則判斷組成的是等腰、等邊、直角還是一般三角形。(1)#include<stdio.h>main()float a,b,c,t; scanf(“%f,%f,%f”,&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;if(a+b>c) if(a=b|b=c

5、) if(a=c) printf(“等邊三角型”); else if(c*c=a*a+b*b) printf(“等腰直角三角形”); else printf(“一般等腰三角形”); else if(c*c=a*a+b*b) printf(“一般直角三角形”); else printf(“一般三角形”); else printf(“不構(gòu)成三角形”);(2)#include<stdio.h>main()float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) t=a; a=b; b=t; if(a>c) t

6、=a; a=c; c=t; if(b>c) t=b; b=c; c=t;if(a+b<=c) printf(“不構(gòu)成三角形”);else if(a=b && b=c && a=c) printf(“等邊三角型”);else if(a=b && c*c=a*a+b*b) printf(“等腰直角三角形”); else if (a=b) printf(“一般等腰三角形”); else if(c*c=a*a+b*b) printf(“一般直角三角形”); else printf(“一般三角形”); 3編程實(shí)現(xiàn)下列函數(shù) x (x<1)

7、y= 2x-1 () |3x-11| ()#include<stdio.h>#include<math.h>main()int x,y; printf("input x=:"); scanf("%d",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=abs(3*x-11); printf("x=%d y=%dn",x,y);4編寫程序,輸入一百分制成績(jī),對(duì)應(yīng)輸出等級(jí)A、B、C、D、E,90分以上為A,80分89分為B,70分79分為C,60分6

8、9分為D,60分以下為E。方法一:用if語(yǔ)句#include<stdio.h>main() float score; char grade; scanf("%f", &score); if(score>100|score<0) printf("ninput error!"); else if(score>=90) grade='A' else if(score>=80) grade='B' else if(score>=70) grade='C' else

9、if(score>=60) grade='D' else grade='E' printf("the student grade=%c n", grade); 方法二:用switch語(yǔ)句。注意,case后的表達(dá)式必須是一個(gè)常量表達(dá)式,所以在以用switch語(yǔ)句之前,必須把0100之間的成績(jī)分別化成相關(guān)的常量。所有A(除100以外),B,C,D類的成績(jī)的共同特點(diǎn)是十位數(shù)相同,此外都是E類。則由此可得把score除十取整,化為相應(yīng)的常數(shù)。#include<stdio.h>main()float score, int s;char

10、 grade;scanf("%f", &score);s=score/10;if(s<0|s>10) printf("ninput error!");else switch (s) case 10: case 9: grade ='A' break; case 8: grade ='B' break; case 7: grade ='C' break; case 6: grade ='D' break; default: grade ='E' printf

11、("the student grade =%c n ", ch); 實(shí)驗(yàn)四參考答案1編寫程序,計(jì)算以下級(jí)數(shù)前n項(xiàng)之和。 #include<stdio.h>void main() int i, n; float s=1.0, sum=1.0, x; scanf(“%d, %f”, &n, &x); for(i=1; i<=n; i+) s=s*x/i;sum=sum+s; printf(“sum=%5.2f”, sum);2編程打印如下圖案(書后習(xí)題第3題): * * * * #include <stdio.h>main( ) i

12、nt i, j, n; for(i=1; i<=7; i+) for(j=0; j<14-2*i; j+) printf(" "); for(j=0; j<2*i; j+) printf("*"); printf("n"); 3編寫程序?qū)崿F(xiàn)輸入整數(shù)n,輸出如下所示由數(shù)字組成的菱形。(圖中n=5) 11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 11 #include <stdio.h>main( ) int i,

13、 j,n; scanf("%d", &n); for(i=1; i<n; i+) for(j=1; j<i; j+) printf(" %d", j); for(j=i; j>0; j-) printf(" %d", j); printf("n"); for(i=n; i>0; i-) for(j=1; j<i; j+) printf(" %d", j); for(j=i; j>0; j-) printf(" %d", j); pr

14、intf("n"); 4輸出Fibonacci數(shù)列第n項(xiàng)。其數(shù)列通項(xiàng)公式為Fn=Fn-1+Fn-2,F(xiàn)1=1,F(xiàn)2=1。方法一:#include<stdio.h>main() float f, f1=1, f2=1; int i, n; scanf("%d", &n); for(i=3; i<=n; i+) f=f1+f2; f1=f2; f2=f; printf("%10.0f n", f ); 方法二:#include <stdio.h>#define NUM 20void main() in

15、t i; float fNUM=1,1; for(i = 2; i < NUM; i+) fi = fi-2+fi-1; for(i = 0; i < NUM; i+) printf("%10.0f n", fi); 實(shí)驗(yàn)五參考答案1編寫程序,將1,2,3這三個(gè)數(shù)賦給數(shù)組a,將5,6,7賦給數(shù)組b,將兩數(shù)組對(duì)應(yīng)元素相加的和賦給數(shù)組c,輸出數(shù)組c#include <stdio.h>void main() int a3=1,2,3, b3=4,5,6, c3; int i; for(i=0;i<3;i+) ci=ai+bi; printf(&quo

16、t;%d",ci); 2輸入任意10個(gè)數(shù),按從大到小或從小到大的順序輸出(“冒泡”排序)#include <stdio.h>#define NUM 10void main () int aNUM, i, j, temp, flag; printf ("input %d numbers: n", NUM);for (i=0; i<NUM; i+) scanf ("%d", &ai); for (i=1; i<NUM; i+) for (j=0; j<NUM-i; j+) flag = 0; if (aj>

17、;aj+1) temp=aj; aj=aj+1; aj+1=temp; flag = 1; if (flag = 0) break; printf ("the sorted numbers:n"); for (i=0; i<NUM; i+) printf ("%d ", ai);3輸入10個(gè)整數(shù)并存放在一維數(shù)組中,找出其中最大值和此元素的下標(biāo)#include <stdio.h>#define NUM 10void main() int aNUM; int i,max, index; for(i=0; i<NUM;i+) scanf

18、("%d",&ai); max=a0; for(i=0; i<NUM;i+) if(max<ai) max=ai; index=i; printf("max=%d, index=%d", max, index);4將從鍵盤輸入的字符串進(jìn)行逆序輸出,逆序后的字符串仍然保留在原來(lái)字符數(shù)組中。(不得調(diào)用任何字符串處理函數(shù)包括strlen)#include <stdio.h>#define NUM 80void main() char aNUM, temp; int i, j, index; for(i=0; i<NUM;i

19、+) scanf("%c",&ai); if(ai='n') break; ai='0' index=i; for(i=0, j=index-1; i<=index/2; i+, j-) temp=ai; ai=aj; aj=temp; for(i=0; i<NUM; i+) if(ai='0') break; printf("%c", ai); printf("n");實(shí)驗(yàn)五參考答案1編寫函數(shù),求表達(dá)式的值,x有由主函數(shù)輸入。(請(qǐng)同學(xué)們用有返回值和無(wú)返回值兩種方式去

20、做,練習(xí)簡(jiǎn)單的函定義、聲明、及調(diào)用方法)有返回值#include <stdio.h>float fun(float x) float m m=x*x-5*x+4;return m void main() float a, f; scanf("%f", &a); f=fun(a); printf("%f n", f);無(wú)返回值#include <stdio.h>void fun(float x) float m m=x*x-5*x+4; printf("%f n", m);v

21、oid main() float a; scanf("%f", &a); fun(a);2編寫函數(shù),按如下遞歸公式求函數(shù)值。1 (n=0)fun(n)= (n>0)#include <stdio.h>int fun(int n) int m; if(n=0) m=1; else m=2*fun(n-1)+1; return m;void main() int a, f; scanf("%d", &a); f=fun(a); printf("%d n", m);3 編寫函數(shù)求數(shù)n所有質(zhì)因子(所有為素?cái)?shù)的

22、因子)并輸出,n由主函數(shù)輸入。#include <stdio.h>#include <math.h>int prime(int m) int j; if (m = 1) return 0; else if (m = 2) return 1; else if (m%2=0) return 0; else for(j=3; j<=sqrt(m); j+=2) if(m%j=0) return 0; return 1; void main() int i,n,flag; scanf("%d",&n); for (i=1;i<=n; i+

23、) if(n%i=0) flag=prime(i); else flag=0; if(flag=1) printf("%d n",i); 4哥德巴赫猜想之一是,任何一個(gè)大于5的偶數(shù)都可以表示為兩個(gè)素?cái)?shù)之和。編寫程序驗(yàn)證這一論斷。#include <stdio.h>int prime(int m) int j; if (m = 1) return 0; else if (m = 2) return 1; else if (m%2=0) return 0; else for(j=3; j<=sqrt(m); j+=2) if(m%j=0) return 0;

24、return 1; main( ) int a,b,c,n; scanf("%d", &n); for (a=6; a<=n; a+=2) for (b=3; b<=a/2; b+=2) if (prime(b)=1) c=a-b; if (prime(c)=1) printf("%d=%d+%dn",a,b,c); break; 5 二維數(shù)組score中存放5個(gè)學(xué)生的3門課成績(jī),由主函數(shù)輸入一個(gè)數(shù),將所有總成績(jī)大于該數(shù)的學(xué)生輸出。#include <stdio.h>void max(float a53, float sc

25、ore) int i,j; float s; for(i=0;i<5;i+) s=0; for(j=0; j<3; j+) s=s+aij; if(s>score) printf("stu%d: %.2fn", i+1, s); void main() int i,j; float a53; float score; printf("please input number:n"); for(i=0; i<5; i+) printf("stu%d:", i+1); for(j=0; j<3; j+) sca

26、nf("%f",&aij); printf("n"); printf("please input score:"); scanf("%f", &score); max(a,score);實(shí)驗(yàn)七參考答案1用指針變量輸出任意4*4矩陣各元素的值(1)#include "stdio.h"void main() int i,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; int *p=a; for(i=0;i<4*4;i+) printf("%3

27、d",*(p+i); if(i+1)%4=0) printf("n"); (2)#include "stdio.h"void main() int a44=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4; int (*p)4=a; int i,j; for(i=0;i<4;i+) for(j=0;j<4;j+) printf("%3d",*(*(p+i)+j); printf("n"); printf("n");2有一個(gè)整型二維數(shù)組amn,找出最大值所在的行

28、和列,以及該最大值#include "stdio.h"void main() int a44=1,34,35,26,7,12,92,24,55,33,53,6,7,41,34,64; int (*p)4=a; int i,j,x,y,max; max=a00; for(i=0;i<4;i+) for(j=0;j<4;j+) printf("%3d",*(*(p+i)+j); if(max<*(*(p+i)+j) max=*(*(p+i)+j); x=i; y=j; printf("n"); printf("

29、nmax=%dnx=%dny=%dn",max,x,y);3從鍵盤輸入一字符串,求此字符串的長(zhǎng)度并輸出#include<stdio.h>int str_len(char *p) int n=0; while(*p!='0') n+; p+; return n;int main() char a100; int n; printf("Input a string:n"); gets(a); n=str_len(a); printf("The lenth:%dn",n);4將字符串str中的小寫字母全部改為大寫字母,并輸

30、出該字符串#include "stdio.h"void fun(char *p) int i; for(i=0;*(p+i)!='0'i+) if(*(p+i)>='a'&&*(p+i)<='z') *(p+i)=*(p+i)-32;void main() char str50; char *p=NULL; printf("Please input string:n"); gets(str); p=str; fun(p); puts(str);實(shí)驗(yàn)八參考答案1. 編寫程序:定義一

31、個(gè)職工結(jié)構(gòu)體類型,定義職工結(jié)構(gòu)體變量,從鍵盤輸入一名職工信息,然后輸出。(假設(shè)職工信息包括:姓名、身份證號(hào)、工齡、工資)#include<stdio.h>struct employee char name20; char id20; int gl; int salary;int main() struct employee em; printf("Name:n"); scanf("%s",); printf("HM:n"); scanf("%s",em.id); printf("

32、GL:n"); scanf("%d",&em.gl); printf("GZ:n"); scanf("%d",&em.salary); printf("Name:%s HM:%s GL:%d GZ:%dn",,em.id,em.gl,em.salary); return 0;2. 設(shè)計(jì)一個(gè)保存學(xué)生情況的結(jié)構(gòu)體,學(xué)生情況包括姓名、學(xué)號(hào)、年齡。輸入5個(gè)學(xué)生的情況,輸出學(xué)生的平均年齡和年齡最小的學(xué)生的情況#include <stdio.h>struct Student char name100; / 姓名 char stdNo10; / 學(xué)號(hào) int age; / 年齡;/ 輸入學(xué)生信息

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論