C語言程序簡單例子講解學習_第1頁
C語言程序簡單例子講解學習_第2頁
C語言程序簡單例子講解學習_第3頁
C語言程序簡單例子講解學習_第4頁
C語言程序簡單例子講解學習_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精品文檔實驗二參考答案1 .輸入兩個整型數字,輸出他們的和。#include<stdio.h>main()int a, b, sum;scanf( d%d”,&a, &b);sum=a+b;printf( a+b=%d” , sum);2 .輸入兩個實型數,輸出他們的和與乘積。#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, product);

2、223 .求方程ax +bx+c=°的根(設b -4ac>0)(其中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 .雞兔同籠,已知雞兔總頭數為h,總腳數為f,求雞兔各多少只

3、? ( h和f的值由鍵盤輸入,輸出雞和兔的頭數)#include<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);精品文檔1 .輸入三個數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=

4、c; c=t;if(b>c)t=b; b=c; c=t;printf( “%f,%f,%f ”,a,b,c);c 能否構成三角形,若不直角還是一般三角形。2 .編寫程序,輸入三角形三邊a、b、c,判斷a、b、能則輸出相應的信息,若能則判斷組成的是等腰、等邊、直角還是一般三角形。(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;i

5、f(a+b>c)if(a=b|b=c)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(不構成三角形”);#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

6、>c)t=a;a=c; c=t;if(b>c)t=b;b=c; c=t;if(a+b<=c) printf(不構成三角形”);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.編程實現下列函數x(x<1

7、)y= 2x-1(1 < x <10)|3x-11| (x_10)#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.編寫程序,輸入一百分制成績,對應輸出等級A、B、C、D、E, 90分以上為A,80分一89分為B

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

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

10、)float score,int s;char grade;scanf("%f", &score);s=score/10;if(s<0|s>10) printf("ninput error!");elseswitch (s) case 10:case9:grade='A'break;case8:grade='B'break;case7:grade='C'break;case6:grade='D'break;default: grade ='E' print

11、f("the student grade =%c n ", ch);實驗四參考答案1 .編寫程序,計算以下級數前n項之和。s u m 1 x x2 /2! x3 /3! x4 /4! . . xn /n!#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 .編程打印如下圖案(書后習題

12、第 3題): *#include <stdio.h> main()int 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.編寫程序實現輸入整數n,輸出如下所示由數字組成的菱形。(圖中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 11n=5)#include

13、 <stdio.h>main( )int i, j,n;scanf("%d", &n);for(i=1; i<n; i+) for(j=1; j<i; j+) for(j=i; j>0; j-) printf("n");printf(" %d", j);printf(" %d", j);for(i=n; i>0;i-)for(j=1; j<i; j+) for(j=i; j>0; j-) printf("n");printf("

14、%d", j);printf(" %d", j);4輸出Fibonacci 數列第 n 項。其數列通項公式為Fn=Fn-1+Fn-2, F1=1,方法一:#include<stdio.h>main()float f, f1=1, f2=1;int i, n;scanf("%d", &n);F2=1。精品文檔for(i=3; i<=n; i+)f=f1+f2;f1=f2;f2=f;printf("%10.0f n", f );方法二:#include <stdio.h>#define NU

15、M 20void main()int 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);精品文檔精品文檔實驗五參考答案1.編寫程序,將1,2, 3這三個數賦給數組a,將5, 6, 7賦給數組b,將兩數組對應 元素相加的和賦給數組c,輸出數組c#include <stdio.h>void main()int a3=1,2,3, b3=4,5,6, c3;int i;for(i=0;i<3;i+)c

16、i=ai+bi;printf("%d",ci);2輸入任意10 個數,按從大到小或從小到大的順序輸出( “冒泡”排序)#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

17、= 0;if (aj>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 個整數并存放在一維數組中,找出其中最大值和此元素的下標#include <stdio.h>#define NUM 10void main() int aNUM;int i,max, index;for(i=0; i<NUM;i+)sc

18、anf("%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將從鍵盤輸入的字符串進行逆序輸出,逆序后的字符串仍然保留在原來字符數組中。(不得調用任何字符串處理函數包括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;i+, j-)for(i=0, j=index-1; i<=index/2;temp=ai;ai=aj;aj=temp;for(i=0; i<NUM; i+)if(ai='0') break;printf("%c", ai);printf("n");精品文檔精品文檔精品文檔實驗五參考答案2(請同學們用有返回值和1,編寫函數,求表達式x -5x+4的值,x有由王函數輸

20、入。無返回值兩種方式去做,練習簡單的函定義、聲明、及調用方法)有返回值#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);無返回值#include <stdio.h>void fun(float x)float m ;m=x*x-5*x+4;printf("%f n", m);void main

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

22、n由主函數輸入#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;elsefor(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+)if(n%i=0) flag=pri

23、me(i);else flag=0;if(flag=1) printf("%d n",i);4哥德巴赫猜想之一是,任何一個大于5 的偶數都可以表示為兩個素數之和。編寫程序驗證這一論斷。#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;elsefor(j=3; j<=sqrt(m); j+=2) if(m%j=0) return 0;return 1;main( )int a,b,c,n;s

24、canf("%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二維數組score 中存放 5 個學生的 3 門課成績, 由主函數輸入一個數, 將所有總成績大于該數的學生輸出。#include <stdio.h>void max(float a53, float score)int i,j;float s;for(i=0;i<5

25、;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+)scanf("%f",&aij);精品文檔printf("n"

26、);printf("please input score:");scanf("%f", &score);max(a,score);實驗七參考答案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("%3d",*(p+i);if(i+1)%4=0)printf("n");(2)#in

27、clude "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有一個整型二維數組amn ,找出最大值所在的行和列,以及該最大值#include "stdio.h"void main()int a44=1,34,35,2

28、6,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("nmax=%dnx=%dny=%dn",max,x,y);3從鍵盤輸入一字符串,求此字符串的長度并輸出#include<stdio.h>

29、;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 中的小寫字母全部改為大寫字母,并輸出該字符串#include "stdio.h"void fun(char *p)int i;for(i=0;*(p+i)!='0'i+)if

30、(*(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);實驗八參考答案1. 編寫程序: 定義一個職工結構體類型, 定義職工結構體變量, 從鍵盤輸入一名職工信息,然后輸出。 (假設職工信息包括:姓名、身份證號、工齡、工資)#include<stdio.h>struct empl

31、oyeechar 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("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. 設計一個保存學生情況的結構體,學生情況包括姓名、學號、年齡。輸入 5 個學生的 情況,輸出學生的平均年齡和年齡最小的學生的情況#include <stdio.h> struct Student char name100; / 姓名char stdNo10; / 學號int age; / 年齡;/ 輸入學生信息void i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論