版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
演示程序2:#include<stdio.h>intmain()(inta,b,sum;a=123;b=456;sum=a+b;printf("sumis%d\n”,sum);return0;}演示程序3:#include<stdio.h>intmax(intx,inty)(intz;if(x>y)z=x;elsez=y;return(z);}intmain()(inta,b,c;scanf("%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}程序4:求整數(shù)10、20和35的平均值演示程序4:#include<stdio.h>intmain(){inta,b,c,sum;doubleaverage;a=10;b=20;c=35;sum=a+b+c;average=sum/3.0;printf("average=%f\n”,average);return0;}輸入下面的程序:#include<>voidmain()(charc1,c2;cl='a';c2=b;printf(“%cn%c,c1,c2);}運(yùn)行此程序;在程序的最后增加語句"printf(“%d%d,c1,c2);再運(yùn)行,并分析結(jié)果;將程序的第4行“charc1,c2;”改為“intc1,c2;”后再運(yùn)行,并分析結(jié)果;將程序的第5、6行改為:c1=a;/*不用單撇號*/c2=b;再運(yùn)行,并分析結(jié)果;運(yùn)行出現(xiàn)一個錯誤。因為a,b是常量字符,將它賦值給一個變量字符,不能運(yùn)行再將程序的第5、6行改為:c1=”a”;/*用雙撇號*/c2=”b”;再運(yùn)行,并分析結(jié)果;再將程序的第5、6行改為:cl=300;/*用大于255的整數(shù)*/c2=400;再運(yùn)行,并分析結(jié)果。輸入以下程序:#include<>voidmain(){charc1='a',c2='b‘,c3=10T'c'c5c41=6°;'printf("a%cb%cn”,c1,c2,c3);printf(b%c%‘c,c4,c5);}先用人工分析程序,寫出應(yīng)得結(jié)果,再與運(yùn)行結(jié)果比較。應(yīng)輸出:aabbccabcAN輸入并運(yùn)行下面的程序#include<stdio.h>voidmain(){inta,b;unsignedc,d;longe,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;TOC\o"1-5"\h\zprintf(“%dn%d,a,b);printf(“%un%u,a,b);printf(“%un%u,c,b);c=a=e;d=b=f;printf(“%dn%d,a,b);printf(“%un%u,c,d);}請對照程序和運(yùn)行結(jié)果分析:將一個負(fù)整數(shù)賦給一個無符號的變量,會得到什么結(jié)果;原樣輸出。將一個大于32767的長整數(shù)賦給整型變量,會得到什么結(jié)果;原樣輸出。將一個長整型數(shù)賦給無符號變量,會得到什么結(jié)果(分別考慮該長整數(shù)的值大于或等于65535以及小于65535的情況)。大于或等于65535時:原樣輸出;小于65535時:原樣輸出。同學(xué)們可以改變程序中各變量的值,以便比較。例如:a=65580,b=-40000,e=65535,f=65580輸入以下程序:#include<stdio.h>voidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%dn”,i,j,m,n);}運(yùn)行程序,分析變量:i、j、m、n的值將第7、8行改為:m=i++;n=++j;再運(yùn)行并分析結(jié)果;將程序改為:#include<stdio.h>voidmain()(inti,j;i=8;j=10;printf("%d\%d,i++,j++);}運(yùn)行并分析結(jié)果;在(3)的基礎(chǔ)上,將printf語句改為:printf("%d,%d',++);++運(yùn)行并分析結(jié)果;再將printf語句改為:printf("%d;%d;%d;%d';i;j;i++;j++);運(yùn)行并分析結(jié)果;將程序改為:#include<stdio.h>voidmain()(inti;j;m=0;n=0;i=8;j=10;m+=i++;n-=--j;printf(“i=%d;j=%d;m=%d;n=%tf;i;j;m;n);}最后,對這次實驗作一個簡要的總結(jié)。1.閱讀下面的程序,說明其功能,然后運(yùn)行并觀察分析結(jié)果程序一:
#include<>voidmain()(intx,y;printf(Enterintegerxandy:\n”);scanf(%d%d”,&x,&y);printf(x=%d,y=%d\n”,x,y);if(x>y)printf(x=%d\n”,x);if(y>x)printf(y=%d\n”,y);if(x==y)printf(x=y=%d\n”,x);}x。x。分析:無論x>y或y>x,都分別輸出x和y的值,假設(shè)x==y,則輸出程序二:#include<>voidmain()(inta,b,c,t;printf(inputintegera,b,c:\吊);scanf(%d%d%d”,&a,&b,&c);printf(a=%d,b=%d,c=%d\n”,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(%d,%d;%d\n”,a,b,c);}功能:將a,b,c按小到大的順序排列。分析:假設(shè)if句成立,則運(yùn)行后面花括號的結(jié)果程序三:#include<>voidmain()(intn;printf(Enterintegern:”);scanf(%d”,&n);if(n%2)printf(n=%disodd.\n”,n);elseprintf(n=%diseven.'rf,n);功能:判斷輸出n的值為奇數(shù)還是偶數(shù)。分析:假設(shè)輸入n的值為奇數(shù),則輸出“n=11isodd”,假設(shè)輸入n的值為偶數(shù),則輸出“n=12iseven程序四:#include<>voidmain(){intn;printf(Enterintegern:”);scanf(%d”,&n);printf(n=%d\n”,n);if(n>=90)printf(A\n”);elseif(n>=80)printf(B\n”);elseif(n>=70)printf(C\n”);elseif(n>=60)printf(D\n”);elseprintf(E\n”);}功能:通過判斷輸入的成績,輸出相應(yīng)的等級。分析:假設(shè)n>=90,為A等,假設(shè)n>=80,為B等,假設(shè)n>=70,為C等,假設(shè)n>=60,為D等,其余為E等。程序五:#include<>voidmain(){inta=3,b=4,c=5,d=0;if(a>b)d=a;elseif(c>b)d=c;elsed=b;printf("d=%d\n”,d);}功能:判斷最大值分析:判斷定義的a,b,c,d,找出最大值,然后附值給d,然后輸出d程序六:#include<stdio.h>voidmain()(intc;scanf("%d”,&c);if(‘0’<=c&&c<=‘9’)/*條件表達(dá)式*/(c=c-‘0’;printf("c=%d\n”,c);}elseprintf("dataerror!\n");}功能:根據(jù)條件,得出結(jié)果。分析:假設(shè)滿足條件,則運(yùn)行c=c-‘0’。并輸出相應(yīng)的值。2.對于如下函數(shù):x(x1)y2x1(1x10)3x11(x10)編寫程序,用scanf函數(shù)輸入x的值,求y值。程序:#include<stdio.h>intmain(){intx,y;printf("輸入x:");scanf("%d",&x);if(x<1){y=x;printf("x=%3d,y=x=%d\n”,x,y);}elseif(x<10){y=2*x-1;printf("x=%d,y=2*x-1=%d\n”,x,y);}else{y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);}return0;}運(yùn)行程序,輸入x的值(分別為x<1、1<x<10、x>10三種情況,如、8、15),檢查輸出的y值是否正確。不正確,因為x,y已經(jīng)被定義為整型。x=8正確x=15正確3.將第1題的程序四中的if語句改用switch語句實現(xiàn),寫出程序并運(yùn)行。程序:#include<stdio.h>intmain()(floatscore;chargrade;printf("請輸入學(xué)生成績:");scanf("%f",&score);while(score>100||score<0)(printf("\n輸入有誤,請重輸");scanf("%f",&score);}switch((int)(score/10))(case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;case5:case4:case3:case2:case1:case0:grade='E';}printf("成績是%,相應(yīng)的等級是%c\n",score,grade);return0;}5.編寫程序,用scanf函數(shù)輸入一個年份year,計算這一年2月份的天數(shù)days,然后用輸出函數(shù)printf輸出days。實驗步驟與要求:有變量定義為整型。輸入前要加提示語句。輸出結(jié)果前要有必要的文字說明。說明:(1)閏年的條件是:year能被4整除但不能被100整除,或者year能被400整除。⑵如果year是閏年,貝U2月份的天數(shù)為29天,不是閏年則為28天最后,對這次實驗作一個簡要的總結(jié)。程序:#include<stdio.h>intmain(){intyear;intr;printf("請輸入年份:,scanf("%d”,&year);r=year%400==0||year%100!=0&&year%4==0;printf("這一年二月有%d\n天",28+r);return1;}總結(jié):平常多看書,才做得快。1.編寫輸入m和n(其中,m<n),求m+(m+1)+…+n的和的程序程序:#include<stdio.h>intmain(){inti,s=0,m,n;scanf("%d,%d",&m,&n);s=s+i;printf("%d\n",s);return0;}結(jié)果:下面程序的功能是計算n!。#include<>intmain(){inti,n,s=1;printf("Pleaseentern:");scanf("%d”,&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d\n",n,s);return0;}首次運(yùn)行先輸入n=4,輸出結(jié)果為4!=24,這時是正確的。為了檢驗程序的正確性,再輸入n=10,輸出為10!=24320,這顯然是錯誤的。為了找到程序的錯誤,可以通過單步執(zhí)行來觀察變量的變化。分析產(chǎn)生這種現(xiàn)象的原因,把程序改正過來,再用n=20進(jìn)行實驗,分析所得到的結(jié)果。程序:#include<stdio.h>intmain()(inti,n;doubles=1;printf("Pleaseentern:");scanf("%d”,&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%f\n",n,s);return0;}結(jié)果:以下程序用于輸出fibnocci數(shù)列的前20項,每行輸出5個。請補(bǔ)充完整后運(yùn)行。/*fibnocci數(shù)列的前兩項均為1,以后各項等于其前兩項之和。*/#include<>intmain()(inti,f1,f2,f3,n;f1=1;f2=1;printf("\n%5d%5d",f1,f2);n=2;(if(n%d==0)printf("\n");f3=f2+f1;printf("%5d",f3);n++;f1=f2;f2=f3;}return0;}編寫程序,輸出100以內(nèi)能被7整除的數(shù)。提示:對7?100的每一個數(shù)進(jìn)行測試,如該數(shù)不能被7整除,即模運(yùn)算不為0,則由continue語句轉(zhuǎn)去下一次循環(huán)。只有模運(yùn)算為0時,才能執(zhí)行后面的printf語句,輸出能被7整除的數(shù)。程序:#include<stdio.h>intmain()(inti,n;scanf("%d”,&n);for(i=7;i<=n;i++)if(i%7==0)printf("%d\n",i);}11211232112343211234543211234321123211211提示:分別使用遞增循環(huán)和遞減循環(huán)完成,先把圖形分成兩部分來看待,前五行一個規(guī)律,后四行一個規(guī)律。每一部分利用雙重for循環(huán),外循環(huán)控制行,內(nèi)循環(huán)控制列。內(nèi)循環(huán)又有兩個并列的for循環(huán),一個控制空格的輸出,一個控制數(shù)據(jù)的輸出。程序:#include<stdio.h>intmain(){inti,j;(for(j=1;j<=5-i;j++)
printf("");for(j=1;j<=i;j++)printf("%2d",j);for(j=i-1;j>=1;j--)printf("%2d",j);printf("\n");}for(i=4;i>=1;i--)(for(j=1;j<=5-i;j++)
printf("");for(j=1;j<=i;j++)printf("%2d",j);for(j=i-1;j>=1;j--)printf("%2d",j);printf("\n");}return0;}結(jié)果:用公式求PI的近似值,直到發(fā)現(xiàn)某一項的絕對值小于10-6為止(該項不累計加)。程序:#include<stdio.h>#include"math.h”intmain(){intsign=1;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6)111*1一1———{4357pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%\n”,pi);return0;}結(jié)果:1.調(diào)試以下程序,使之具有如下功能:輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。#include<stdio.h>intmain()(inti,n,a[10],av;for(i=0;i<n;i++)scanf("%d",a[i]);for(i=0;i<n;i++)(printf("%d",a[i]);if(i%3==0)printf("\n");}for(i=0;i!=n;i++)av+=a[i];printf("av=%f\n",av);return0;}上面給出的程序是完全可以運(yùn)行的,但是運(yùn)行結(jié)果是完全錯誤的。調(diào)試時請注意變量的初值問題、輸出格式問題等。程序:#include<stdio.h>intmain()(inti,n,a[10];floatav,sum=0;for(i=0;i<10;i++)scanf("%5d”,&a[i]);for(i=0;i<10;i++){printf("%5d",a[i]);if((i+1)%3==0)printf("\n");}for(i=0;i<10;i++)sum=sum+a[i];av=sum/10;printf("\nav=%5f\n",av);return0;}結(jié)果:編寫程序,任意輸入10個整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進(jìn)行排序,然后輸入一個整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。程序:#include<stdio.h>voidmain(){inti,j,m,n,a[10];printf("請輸入10個整數(shù):\n");for(i=0;i<10;i++)scanf("%d”,&a[i]);for(i=0;i<9;i++){m=i;for(j=m+1;j<10;j++)if(a[m]<a[j])m=j;n=a[i];a[i]=a[m];a[m]=n;}printf("從大到小排好順序輸出:\n");for(i=0;i<10;i++)printf("%4d",a[i]);printf("\n");}輸入兩個字符串,找出其中較大者程序:include<stdio.h>include<string.h>intmain()(charstr[2][10];charstring[10];inti;for(i=0;i<2;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);printf("\nthelargeststringis:\n%s\n”,string);return0;}結(jié)果:將一個數(shù)組中的值按逆序重新存放。例如:原來順序為8,6,5,4,1。要求改為1,4,5,6,8。程序:#include<stdio.h>intreverse(inta[],intn)(intp=a+n-1;intt;while(a<p)t=p,p=a,a=t;}intmain()(inta[5]=(8,6,5,4,1};inti;reverse(a,5);for(i=0;i<5;i++)printf("%d",a[i]);printf("\n");return0;}5.輸入4名學(xué)生的及三門課成績,打印學(xué)生成績表。〔、三門課成績、平均分〕程序:#include<stdio.h>voidmain()(charname[4][30];doublescore[4][4]=(0.0};inti=0,j;printf("********請輸入4名學(xué)生的名字和三門成績********\n");for(i=0;i<4;++i)(printf(":");scanf("%s",name[i]);for(j=0;j<3;j++)(printf("第%d門成績:",j+1);scanf("%lf",&score[i][j]);score[i][3]+=score[i][j];}}//輸出各科成績和平均成績for(i=0;i<4;++i)(printf("%s\n”,name[i]);for(j=0;j<3;j++)printf("第%dT成績:%lf\n",j+1,score[i][j]);printf("平均成績?yōu)?%lf\n",score[i][3]/3);}}結(jié)果:(在下面)寫一個判別素數(shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),輸出是否素數(shù)的信息.(第七章第三題)程序:#include<stdio.h>intmain()(intsushu(intx);inta,b;printf("pleaseinputanumber:\n");scanf("%d”,&a);b=sushu(a);if(b==0)printf("%d不是素數(shù)\n",a);elseprintf("%d是素數(shù)\n",a);return0;}intsushu(intx){inti,y;for(i=2;i<x/2;i++)if(x%i==0){y=0;break;}return(y);}結(jié)果輸入10個學(xué)生的學(xué)號及單科成績,然后求出最高分的學(xué)號、最低分的學(xué)號以及超過平均分的人數(shù)〔用函數(shù)實現(xiàn)〕。請在以下程序的下劃線處填上適當(dāng)?shù)膬?nèi)容,以使程序完整,并上機(jī)運(yùn)行,分析運(yùn)行結(jié)果。#include<stdio.h>inthigh_num,low_num;intmain(){intover_aver(intsco[],intn);inti,over_num,a[10];printf("\ninputa:");for(i=0;i<10;i++)scanf("%d”,&a[i]);over_num=overaver(a,10);printf("\nhigh_num=%d,low_num=%d”,high_num,low_num);printf("\nover_num=%d\n",over_num);return0;}intover_aver(intscore[],intn){inti,imax,imin,over_num;floataver;imax=0;imin=0;aver=0;for(i=0;i<n;i++){aver+=score[i];if(score[i]>score[imax])imax=i;if(score[i]<score[imin])imin=i;}aver/=n;over_num=0;for(i=0;i<n;i++)if(score[i]>=aver)over_num++;high_num=imax+1;lownum=imin+1;returnover_num;}沒有輸入學(xué)號部分,只是默認(rèn)為1—10號。輸入4名學(xué)生的及三門課成績,打印學(xué)生成績表。〔分別用函數(shù)voidinput(floatscore[4][3],charstr[4][10])、voidaverage(floatscore[4][3],floatave[4])、voidoutput(floatscore[4][3],charstr[4][10],floatave[4])實現(xiàn)輸入4名學(xué)生的及三門課成績、求4名學(xué)生的平均成績、打印學(xué)生的成績表〕。程序:#include<stdio.h>floatscore[4][3];charstr[4][10];floatave[4];intmain(){voidinput();voidaverage();voidoutput();input();average();output();return0;}voidinput()inti;for(i=0;i<4;i++)(printf("請輸入第%昕同學(xué)的:",i+1);scanf("%s",str[i]);printf("請依次輸入第%昕同學(xué)的語文、數(shù)學(xué)和英語三門課成績:",i+1);scanf("%f,%f,%f",&score[i][0],&score[i][1],&score[i][2]);}}voidaverage()(inti;for(i=0;i<4;i++)ave[i]=(score[i][0]+score[i][1]+score[i][2])/3;}voidoutput()(inti;printf("學(xué)生的成績表\n");printf("*****************************\n");printf("\n");pri
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版儲能設(shè)備箱涵勞務(wù)分包合同
- 2025版汽車零部件運(yùn)輸車輛服務(wù)合同范本2篇
- 2025年度港口貨物GPS定位與倉儲管理合同3篇
- 二零二五年度個人創(chuàng)業(yè)貸款延期還款協(xié)議范本與創(chuàng)業(yè)扶持3篇
- 2024年縫紉機(jī)制造合作協(xié)議
- 2024版人工智能助手研發(fā)與授權(quán)合同
- 食品添加劑項目安全評估報告
- 2024年購房合同樣本下載3篇
- 2025版回遷住宅買賣及智慧社區(qū)運(yùn)營管理服務(wù)協(xié)議3篇
- 2024年貨架銷售合同樣本
- 2022年成都溫江興蓉西城市運(yùn)營集團(tuán)有限公司招聘筆試試題及答案解析
- 空氣、物表地面消毒登記記錄
- 急性腦梗死診治指南
- 檢察院分級保護(hù)項目技術(shù)方案
- 土木工程建筑中混凝土裂縫的施工處理技術(shù)畢業(yè)論文
- 水電站工程地質(zhì)勘察報告
- 電站屏柜改造安裝二次工程施工組織設(shè)計
- DB42∕T 1795-2021 微動勘探技術(shù)規(guī)程
- 大潤發(fā)的企業(yè)文化
- 兒童劇劇本─三只小豬
- 標(biāo)書密封條格式模板大全(共33頁)
評論
0/150
提交評論