C語言實(shí)驗(yàn)5-7參考答案1_第1頁
C語言實(shí)驗(yàn)5-7參考答案1_第2頁
C語言實(shí)驗(yàn)5-7參考答案1_第3頁
C語言實(shí)驗(yàn)5-7參考答案1_第4頁
C語言實(shí)驗(yàn)5-7參考答案1_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)五函數(shù)和預(yù)處理命令四、設(shè)計(jì)流程(算法描述)(請寫出上機(jī)內(nèi)容1的算法描述)利用循環(huán)將m乘n次五、程序清單.編寫自定義函數(shù)longpower(intm,intn),計(jì)算mn的值。利用此函數(shù)編程序?qū)崿F(xiàn):從鍵盤輸入兩個(gè)整數(shù)m和n,計(jì)算出mn的值。#include<stdio.h>longpower(intm,intn)//要返回的是long型{inti;longs;//因?yàn)槭且祷氐臄?shù),所以這里也定義為long型s=1;for(i=1;i<=n;i++){s*=m;}returns;}intmain(void){intm,n;scanf("%d%d",&m,&n);printf("s=%ld\n",power(m,n));return0;}2、寫出兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤輸入。源程序如下:#include<stdio.h>intzdgys(intn1,intn2){inti;for(i=n2;i>=1;i--)if(n1%i==0&&n2%i==0){break;}returni;}intzxgbs(intn1,intn2){inti;for(i=n1;i<=n1*n2;i++)if(i%n1==0&&i%n2==0){break;}returni;}main(){intn1,n2,t;scanf("%d%d",&n1,&n2);if(n1<n2){t=n1;n1=n2;n2=t;}printf("zdgys=%dzxgbs=%d",zdgys(n1,n2),zxgbs(n1,n2));}3、改錯(cuò)題正確程序如下:#include<stdio.h>doublefact(intn);doublemulti(intn);main(){inti;doublesum,item,eps;eps=1E-6;sum=1;item=1;for(i=1;item>=eps;i++){item=fact(i)/multi(2*i+1);sum=sum+item;}printf("PI=%0.5lf\n",sum*2);return0;}doublefact(intn){inti;doubleres=1;for(i=1;i<=n;i++)res=res*i;returnres;}doublemulti(intn){inti;doubleres=1;for(i=3;i<=n;i=i+2)res=res*i;returnres;}六、調(diào)試和測試結(jié)果1、輸入:23輸出:s=82、輸入:n1=24n2=16輸出:zdgys=8zxgbs=482.3、輸出結(jié)果為:實(shí)驗(yàn)六數(shù)組四、設(shè)計(jì)流程(算法描述)(請寫出上機(jī)內(nèi)容1的算法描述)設(shè)置兩個(gè)變量分別指示頭和尾。第一個(gè)和最后一個(gè)元素值互換,然后頭和尾變量向里移動,最終到兩變量相遇為止。五、程序清單1.編寫程序:從鍵盤輸入一串整數(shù)保存到數(shù)組中,調(diào)用函數(shù)antitone()將數(shù)組反序輸出。自定義函數(shù)voidantitone(inta[],intn)實(shí)現(xiàn)將數(shù)組中的n個(gè)數(shù)據(jù)按逆序存放。#include<stdio.h>#include<string.h>//包含數(shù)組初始化函數(shù)的頭文件#defineM100voidantitone(inta[],intn){inti,j;intk;i=0;j=n-1;while(i<j){k=a[i];a[i]=a[j];a[j]=k;i++;j--;}voidmain(){intarray[100];intn,i,m;printf("請輸入要輸入整數(shù)的個(gè)數(shù):");scanf("%d",&n);memset(array,0,sizeof(array));//數(shù)組初始化語句printf("請輸入整數(shù):");for(i=0;i<n;i++)scanf("%d",&array[i]);antitone(array,n);for(m=0;m<n;m++){printf("%d\n",array[m]);}}2.已知某數(shù)列的前兩項(xiàng)為2和3,其后每一項(xiàng)為其前兩項(xiàng)之積。編程實(shí)現(xiàn):從鍵盤輸入一個(gè)整數(shù)x,判斷并輸出x最接近數(shù)列的第幾項(xiàng)?#include<stdio.h>#include<math.h>voidMad(inta[],intn){inti;a[0]=2;a[1]=3;for(i=2;i<n;i++){a[i]=a[i-1]*a[i-2];}}intmain(void){inta[100],x,k1,k2;inti;Mad(a,100);//產(chǎn)生序列printf("inputx:");scanf("%d",&x);i=0;for(;x>a[i];i++);k1=abs(x-a[i-1]);k2=abs(x-a[i]);if(k1>k2)printf("x最接近第%d項(xiàng)\/,1+1);elseprintf("x最接近第%d項(xiàng)\n",i);return0;}3、源程序如下:#include<stdio.h>main(){charc[15];inti,word=0,num=0,space=0;for(i=0;i<=14;i++)scanf("%c",&c[i]);for(i=0;i<=14;i++){if(c[i]=='')space++;if(c[i]>='0'&&c[i]<='9')num++;if(c[i]>'a'&&c[i]<'z')word++;}printf("字符:%d數(shù)字:%d空格:%d\n",word,num,space);}六、調(diào)試和測試結(jié)果1、輸入:12345輸出:543212、輸入:110輸出:x最接近第6項(xiàng)3、輸入:sd234kj64jkmjk輸出:字符:9數(shù)字:5空格:1實(shí)驗(yàn)七數(shù)組和函數(shù)綜合程序設(shè)計(jì)四、程序清單(請寫出上機(jī)內(nèi)容2、3中源程序)原程序求得的是下三角形,經(jīng)改進(jìn)調(diào)試之后的程序?yàn)椋?include<stdio.h>#defineN6main(){inti,j,sum=0;

inta[N][N]={0};printf("input5x5data:\n");for(i=1;i<N;i++){printf("Inputthe%dlinedata:\n",i);for(j=1;j<N;j++)scanf("%d",&a[i][j]);}for(i=1;i<N;i++){for(j=1;j<N;j++)printf("%5d",a[i][j]);printf("\n");}for(i=1;i<N;i++)for(j=N-1;j>=i;j--)sum=sum+a[i][j];printf("sum=%d\n",sum);}voidfun(inttt[M][N],intp

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論