C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)5_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)5_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)5_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)5_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)5_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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)介

實(shí)驗(yàn)4以下幾段源程序有錯(cuò),請(qǐng)調(diào)試修改正確。/*源程序?qū)崿F(xiàn)的功能:輸入兩個(gè)實(shí)數(shù),按從小到大的順序輸出*/main(){floata,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>intmain(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f",a,b);}該源程序?qū)崿F(xiàn)的功能是:有如下函數(shù)關(guān)系:TOC\o"1-5"\h\z「 x (x>0)y= < 2 (x=0)〔3x (x<0)根據(jù)輸入的x值,求出y的值。main(){ int x,y;printf(“Enterx:”);scanf(“%d”,&x);ifx>0y=x;elseif(x=0)y=2;elsey=3*x;printf(“x=%dy=%d\n”,x,y);}#include<stdio.h>intmain(){intx,y;printf("Enterx:");scanf("%d",&x);if(x>0)y=x;elseif(x==0)y=2;elsey=3*x;printf("x=%dy=%d\n",x,y);}#include<stdio.h>intmain(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=3*x-11;printf("y=%d",y);}某物品原有價(jià)值為P,由于使用使其價(jià)值降低,價(jià)值的折扣率根據(jù)時(shí)間t(月數(shù))確定如下:{tv3,無(wú)折扣3v=tv6, 2%折扣6v=tvl2, 5%折扣12=vtv21 8%折扣t>=21, 10%折扣編程實(shí)現(xiàn):根據(jù)輸入的時(shí)間和原有價(jià)值計(jì)算物品的現(xiàn)有價(jià)值。#include<stdio.h>intmain(){intP,t;floaty;printf("輸入原有價(jià)值和使用時(shí)間:");scanf("%d,%d",&P,&t);if(t<3)y=p;elseif(t<6)y=0.98*p;elseif(t<12)y=0.95*p;elseif(t<21)y=0.92*p;elsey=0.9*p;printf(”現(xiàn)有價(jià)值為:%.2f",y);4.給一個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù);②分別打出每一位數(shù)字;按逆序打出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123#include<stdio.h>intmain(){intnum,a,ge,shi,bai,qian,wan;printf("enteranumber(0-99999):");scanf("%d",&num);if(num>9999)a=5;elseif(num>999)a=4;elseif(num>99)a=3;elseif(num>9)a=2;elsea=1;wan=num/10000;qian=num/1000%10;bai=num/100%10;shi=num/10%10;ge=num%10;switch(a){case5:{printf("5位數(shù)");printf("---%d,%d,%d,%d,%d---",wan,qian,bai,shi,ge);printf("倒序?yàn)椋海%d%d%d%d",ge,shi,bai,qian,wan);break;}case4:{printf("4位數(shù)”);printf("---%d,%d,%d,%d---",qian,bai,shi,ge);printf("倒序?yàn)椋海%d%d%d",ge,shi,bai,qian);break;}case3:{printf("3位數(shù)");printf("---%d,%d,%d---",bai,shi,ge);printf("倒序?yàn)椋海%d%d",ge,shi,bai);break;}case2:{printf("2位數(shù)");printf("---%d,%d---",shi,ge);printf(唯ij序?yàn)椋海%d",ge,shi);break;

}case1:{printf("1位數(shù)");printf("---%d---",ge);printf("倒序?yàn)椋海%d%d%d%d",ge);break;}}}實(shí)驗(yàn)5以下程序的功能是實(shí)現(xiàn)從鍵盤輸入一組字符,統(tǒng)計(jì)出大寫字母的個(gè)數(shù)m和小寫字母的個(gè)數(shù)n,并輸出m、n中的較大者。程序中有錯(cuò),請(qǐng)調(diào)試修改正確。main(){intm,n;charc;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>intmain(){intm=0,n=0;charc;while((c=getchar())!='\n'){if(c>='A'&&c<='Z') m++;if(c>='a'&&c<='z') n++;}printf("%d\n",m>n?m:n);}以下程序可以實(shí)現(xiàn)從鍵盤輸入一串?dāng)?shù)字,然后以相反的順序?qū)⑺鼈冚敵?,如輸入?234,輸出4321,請(qǐng)?zhí)羁铡ain(){intnumber,right;printf("enteryounumber:\n");scanf("%d",&number);fnfnumber%10fnumber/10TOC\o"1-5"\h\z{right= ;printf("%d",right) ;number=② ;}while(number!=0);printf("\n");}求Sn=a+aa+aaa+...+aa...a之值,其中a是一個(gè)數(shù)字。例如:2+22+222+2222+22222(此時(shí)n=5),n由鍵盤輸入。#include<stdio.h>intmain(){intSn=0,n,sum=0;inta=2;printf("entern:");scanf("%d",&n);for(inti=0;i<n;i++){sum=a+sum*10;Sn=Sn+sum;}printf("Sn=%d",Sn);}有一數(shù)列:2/1,3/2,5/3,8/5,…求出這個(gè)數(shù)列的前20項(xiàng)之和。#include<stdio.h>intmain(){floatsum=0,c,a=2,b=1;for(inti=0;i<20;i++){sum=sum+a/b;c=a;a=b+c;b=c;}printf("sum=%.2f",sum);}四、思考題1.猜數(shù)游戲。玩游戲者輸入一個(gè)數(shù),提示此數(shù)是太大、太小或猜中,重新輸入數(shù)據(jù)直到猜中為止。(提示:在程序中設(shè)置一個(gè)整數(shù),此數(shù)即是玩游戲者要猜的數(shù))百錢買百雞問(wèn)題。公雞每只5元,母雞每只3元,小雞3只一元,問(wèn)一百元買一百只雞有幾種解法。提示:設(shè)x,y,z為三種雞的只數(shù),按題目寫出代數(shù)方程為:x+y+z=1005x+3y+z/3=100用窮舉法列舉出x、y、z的值能懂就懂,不懂就不看了。#include<stdio.h>intmain(){intx,y,z;for(x=1;x<=20;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,%d\n",x,y,z);}20,7718,7813,SO11,816n834,S4這是結(jié)果輸出,后面最后一個(gè)是小雞的,但是很明顯,小雞的個(gè)數(shù)要能整除3,所以,再怎么改,請(qǐng)自己操作。TIP:就只需要在一個(gè)地方加一個(gè)條件。實(shí)驗(yàn)6以下程序段將輸出computer請(qǐng)?zhí)羁铡?include“stdio.h”main(){inti,j=0;charc[]=”it'sacomputer”;for(i=0;① ;i++) ①fiv8{ ② : ②fj=i+7printf(“%c”,c[j]);}}以下程序的功能是求數(shù)組num中小于零的數(shù)據(jù)之和,程序中存在錯(cuò)誤,請(qǐng)上機(jī)調(diào)試并改正。#include“stdio.h”main(){intnum[20];intsum,i;for(i=0;i<=19;i++)scanf(“%d",&num[i]);for(i=0;iv=19;i++); 這個(gè)引號(hào)去掉程序就對(duì)了。WHY?自己去想。if(num[i]<0)sum+=num[i];printf(“sum=%6d”,sum);}調(diào)試程序。下面程序完成用氣泡法對(duì)10個(gè)整型數(shù)排序(從小到大),其中帶*行有錯(cuò),請(qǐng)調(diào)試修正。#include<stdio.h>main(){inta[10];inti,j,t;printf(“intput10numbers:\n”);for(i=0;i<10;i++)*scanf(“%d”,i,a[i]);printf(“\n”);*for(j=1;j<10;j++)*for(i=j+1;i<10;i++)if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(“thesortednumbers:\n”);*for(i=1;i<11;i++)*printf(“%d”,&a[i]);}第一個(gè)*scanf(”%d",&a[i]);第二個(gè)*:for(j=1;j<=10;j++)第三個(gè)*:for(i=0;i<10-j;i++)第四個(gè)*:for(i=0;i<10;i++)第五個(gè)*:printf("%d",a[i]);別問(wèn)我原因。已有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)排序的規(guī)律將它插入數(shù)組中#inelude<stdio.h>intmain(){inta[10]={2,3,5,9,11,13,17,20,23};intn,i=0;printf("enteranumber:");seanf("%d",&n);〃先比較找到位置while(a[i]<n){i++;}〃將位置向后面移動(dòng)for(intk=0;k<10-i;k++){a[9-k]=a[8-k];}a[i]=n;for(intj=0;j<10;j++)printf("%3d",a[j]);}編一程序,將兩個(gè)字符串連接起來(lái),不要用strcat函數(shù)#inelude<stdio.h>intmain(){chara[100];charb[50];gets(a);gets(b);inti=0;while(a[i]!=、O')i++;for(intj=0;b[j]!=、O';j++){a[i]=b[j];i++;}puts(a);}求一個(gè)3x3矩陣對(duì)角線元素之和。#include<stdio.h>/*求一個(gè)3X3矩陣對(duì)角線元素之和。*/intmain(){inta[3][3];inti,j;printf("enterninenumbers:");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);intsum=0;sum=a[0][0]+a[l][l]+a[2][2];〃只有一條對(duì)角線。。。for(i=0;i<3;i++){for(j=0;j<3;j++){printf("%3d",a[i][j]);}printf("\n");}printf("\nsum=%3d",sum);}實(shí)驗(yàn)71.上機(jī)調(diào)試下面的程序,記錄系統(tǒng)給出的出錯(cuò)信息,并指出出錯(cuò)原因。main(){intx,y;printf("%d\n",sum(x+y));intsum(a,b);{inta,b;return(a+b);}}#include<stdio.h>intmain(){intx=1,y=2;intsum(inta,intb);printf("%d\n",sum(x,y));}intsum(inta,intb){return(a+b);}2 .已有變量定義和函數(shù)語(yǔ)句“inta=l,b=-5,c;c=fun(a,b);”,fun函數(shù)的作用是計(jì)算兩個(gè)數(shù)之差的絕對(duì)值,并將差值返回給調(diào)用函數(shù),請(qǐng)編寫fun函數(shù),并調(diào)試。fun(intx,inty){}函數(shù)如下:intfun(intx,inty){intz;z=x+y;if(z<0)z=-z;returnz;}3?有一青年歌手大獎(jiǎng)賽,試編寫一個(gè)評(píng)分系統(tǒng),具體實(shí)現(xiàn)方法為:編寫一個(gè)對(duì)n個(gè)數(shù)據(jù)

溫馨提示

  • 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)論