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

下載本文檔

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

文檔簡介

1、實驗 41. 以下幾段源程序有錯,請調(diào)試修改正確。 /* 源程序?qū)崿F(xiàn)的功能:輸入兩個實數(shù),按從小到大的順序輸出 */ main() float a,b,t;scanf( “ %f,%,f &”a,&b);if (a>b)t=a;a=b;b=tprintf( “ %5.2f,%5.2f ” ,a,b);#include <stdio.h>int main()float a,b,t;scanf("%f,%f",&a,&b);if (a>b)t=a;a=b;b=t; printf("%5.2f,%5.2f"

2、;,a,b); 該源程序?qū)崿F(xiàn)的功能是:有如下函數(shù)關(guān)系:x(x>0)y= 2 (x=0)3x(x<0)根據(jù)輸入的 x 值,求出 y 的值。main( ) int x,y;printf( “ Enter x: ”);scanf( “d%”&,x);if x>0 y=x;else if(x=0) y=2;else y=3*x;printf( “ x=%yd= %d n” ,x,y);#include <stdio.h>int main()int x,y;printf("Enter x:"); scanf("%d",&

3、;x);if(x>0) y=x;else if(x=0)y=2; else y=3*x;printf("x=%d y=%dn",x,y);#include <stdio.h> int main()int x,y; scanf("%d",&x); if(x<1)y=x;else if(x<10) y=2*x-1; elsey=3*x-11;printf("y=%d",y);t(月數(shù) )確定如下:某物品原有價值為 p, 由于使用使其價值降低,價值的折扣率根據(jù)時間 t<3 ,無折扣3<=t&

4、lt;6 , 2折扣6<=t<12 , 5折扣12=<t<21 8折扣 t>=21 , 10折扣 編程實現(xiàn):根據(jù)輸入的時間和原有價值計算物品的現(xiàn)有價值。#include <stdio.h>int main()int p,t; float y;printf(" 輸入原有價值和使用時間: "); scanf("%d,%d",&p,&t);if(t<3) y=p;else if(t<6) y=0.98*p;else if(t<12) y=0.95*p;else if(t<21)

5、y=0.92*p;else y=0.9*p;printf(" 現(xiàn)有價值為: %.2f",y);4. 給一個不多于 5 位的正整數(shù),要求: 求出它是幾位數(shù);分別打出每一位數(shù)字; 按逆序打出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出 123#include <stdio.h>int main()int num,a,ge,shi,bai,qian,wan; printf("enter a number(0-99999):"); scanf("%d",&num);if(num>9999) a=5;else if(num>

6、;999) a=4;else if(num>99) a=3;else if(num>9) a=2; else a=1;wan=num/10000; qian=num/1000%10;bai=num/100%10; shi=num/10%10;ge=num%10;switch(a)case 5: printf("5 位數(shù) "); printf("-%d,%d,%d,%d,%d-",wan,qian,bai,shi,ge); printf(" 倒序為: %d%d%d%d%d",ge,shi,bai,qian,wan); bre

7、ak;case 4: printf("4 位數(shù) "); printf("-%d,%d,%d,%d-",qian,bai,shi,ge); printf(" 倒序為: %d%d%d%d",ge,shi,bai,qian); break;case 3: printf("3 位數(shù) "); printf("-%d,%d,%d-",bai,shi,ge); printf(" 倒序為: %d%d%d",ge,shi,bai); break;case 2: printf("2 位

8、數(shù) "); printf("-%d,%d-",shi,ge); printf(" 倒序為: %d%d",ge,shi); break;case 1:printf("1 位數(shù) ");printf("-%d-",ge);printf(" 倒序為: %d%d%d%d%d",ge); break;實驗 51. 以下程序的功能是實現(xiàn)從鍵盤輸入一組字符,統(tǒng)計出大寫字母的個數(shù) m 和小寫字母的 個數(shù) n,并輸出 m、 n 中的較大者。程序中有錯,請調(diào)試修改正確。main ( ) int m , n

9、; char c ; while ( (c=getchar() != 'n' ) ; if ( c>= 'A'&&c<= 'Z') m+ ;if ( c>= 'a'&& c<='z' ) n+ ;printf ( "%d n", m < n ?m : n) ;#include <stdio.h>int main () int m=0 , n=0 ; char c ;while ( (c=getchar() != '

10、n' ) if ( c>= 'A'&&c<= 'Z' ) m+ ; if ( c>= 'a'&& c<='z' ) n+ ; printf ("%d n", m > n ?m : n) ;2. 以下程序可以實現(xiàn)從鍵盤輸入一串?dāng)?shù)字, 然后以相反的順序?qū)⑺鼈冚敵觯?如輸入:1234, 輸出 4321,請?zhí)羁?。main() int number, right ;printf("enter you number:n "); sca

11、nf("%d", &number);do number%10 number/10 right= ; printf("%d", right ) number= ;while ( number!=0 );printf("n");3. 求 Sn=a+aa+aaa+ +aaa之 值,其中 a 是一個數(shù)字。例如: 2+22+222+2222+22222 (此時 n=5) , n 由鍵盤輸入。#include <stdio.h>int main ()int Sn=0,n,sum=0;int a=2; printf("

12、enter n:"); scanf("%d",&n); for(int i = 0;i<n;i+) sum = a + sum * 10; Sn=Sn+sum; printf("Sn=%d",Sn);4. 有一數(shù)列: 2/1,3/2,5/3,8/5,求出這個數(shù)列的前 20 項之和。#include <stdio.h> int main () float sum=0,c,a=2,b=1; for(int i = 0;i<20;i+)sum=sum+a/b; c=a;a=b+c;b=c;printf("su

13、m=%.2f",sum); 四、思考題1. 猜數(shù)游戲。 玩游戲者輸入一個數(shù),提示此數(shù)是太大、太小或猜中, 重新輸入數(shù)據(jù)直到猜中為止。(提示:在程序中設(shè)置一個整數(shù),此數(shù)即是玩游戲者要猜的數(shù))2. 百錢買百雞問題。公雞每只 5 元,母雞每只 3 元,小雞 3 只一元, 問一百元買一百只雞 有幾種解法。提示:設(shè) x,y,z 為三種雞的只數(shù),按題目寫出代數(shù)方程為: x+y+z=100 5x+3y+z/3=100用窮舉法列舉出 x、 y、z 的值 能懂就懂,不懂就不看了。#include <stdio.h>int main ()int x,y,z;for(x = 1;x<=2

14、0;x+)for(y = 1;y<=33;y+)for(z = 1;z<=100;z+)if(x+y+z=100 & x*5+3*y+z/3=100) printf("%d,%d,%dn",x,y,z);這是結(jié)果輸出,后面最后一個是小雞的,但是很明顯,小雞的個數(shù)要能整除 3,所以,再怎么改,請自己操作。 TIP :就只需要在一個地方加一個條件。實驗 61. 以下程序段將輸出 computer, 請?zhí)羁铡?include “stdio.h”main() int i,j=0;char c= ”it 's a computer”;for(i=0; ;i

15、+) i<8 ; j=i+7printf( “%c”,cj);2. 以下程序的功能是求數(shù)組 num 中小于零的數(shù)據(jù)之和,程序中存在錯誤,請上機(jī)調(diào)試并 改正。#include “stdio.h”main() int num20;int sum,i;for(i=0;i<=19;i+)scanf(“%d ”,&numi);for(i=0;i<=19;i+); 這個引號去掉程序就對了。 WHY ?自己去想。 if(numi<0) sum+=numi;printf( “sum=%6d ”,sum);3. 調(diào)試程序。下面程序完成用氣泡法對 10 個整型數(shù)排序(從小到大) ,

16、其中帶 * 行有錯, 請調(diào)試修正。#include <stdio.h>main()int a10;int i,j,t;printf( “ intput 10 numbne”rs:);for (i=0;i<10;i+)* scanf( “ %d” ,i,ai);printf( n“” );* for(j=1;j<10;j+)*for(i=j+1;i<10;i+) if(ai<ai+1)t= ai; ai=ai+1;ai+1=t;printf( “ the sorted numbne”rs:);* for(i=1;i<11;i+)* printf( “%d

17、” ,& ai);第一個 * :scanf("%d",&ai);第二個 * :for(j=1;j<=10;j+)第三個 * :for(i=0;i<10-j;i+)第四個 * :for(i=0;i<10;i+)第五個 * :printf("%d",ai); 別問我原因。4. 已有一個已排好序的數(shù)組,今輸入一個數(shù),要求按原來排序的規(guī)律將它插入數(shù)組中#include <stdio.h>int main()int a10=2,3,5,9,11,13,17,20,23;int n,i = 0;printf("

18、enter a number:");scanf("%d",&n);/ 先比較 找到位置while(ai<n)i+;/ 將位置向后面移動for(int k = 0;k<10-i;k+)a9-k=a8-k;ai=n;for(int j = 0;j<10;j+)strcat 函數(shù)printf("%3d",a j); 5. 編一程序,將兩個字符串連接起來,不要用#include <stdio.h>int main()char a100;char b50;gets(a);gets(b);int i = 0;while

19、(ai!='0') i+;for(int j = 0; bj!='0'j+)ai=b j;i+;puts(a);6. 求一個 3×3 矩陣對角線元素之和。#include <stdio.h>/*求一個 3×3 矩陣對角線元素之和。 */ int main()int a33;int i,j;printf("enter nine numbers:");for(i = 0;i<3;i+)for(j = 0;j<3;j+) scanf("%d",&aij); int sum=0;sum=a00+a11+a22;/ 只有一條對角線。 for(i = 0;i<3;i+) for(j = 0;j<3;j+)printf("%3d",aij); printf("n"); printf("nsum=%3d",sum); 實驗 71. 上機(jī)調(diào)試下面的程序,記錄系統(tǒng)給出的出錯信息,并指出出錯原因 main()int x,y; printf("%dn",sum(x+y);int sum(a,b);int a,b; retu

溫馨提示

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

評論

0/150

提交評論