西北農林科技大學c語言實習答案_第1頁
西北農林科技大學c語言實習答案_第2頁
西北農林科技大學c語言實習答案_第3頁
西北農林科技大學c語言實習答案_第4頁
西北農林科技大學c語言實習答案_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習1

編程寫程序,在屏幕上輸出信息HappyNew/*形*/void{New}由鍵盤任意輸/*簡單計算*void{floata,b;float&a,&b);c=a-b;1printf("和%f,=%f,積%f,=%f\n",h,c,j,s);}已/*計算梯形積*void{floatdoublescanf("%f",&supline);scanf("%f",&dowline);scanf("%f",&high);=printf("%f\n",area);}輸的ASCII碼輸出此字符對應的碼。/*輸出字符的ASCII*void{2c;scanf("%c",&c);printf("%d\n",c);}據類型長度測試

試所使用整形長整型/*數據類型試*void{printf("sizeofchar=%d\n",sizeof(char));printf("sizeofshort=%d\n",sizeof(short));printf("sizeofint=%d\n",sizeof(int));printf("sizeofprintf("sizeoffloat=%d\n",sizeof(float));printf("sizeofdouble=%d\n",sizeof(double));}輸于Fail“/*成績判斷*3void{floatmark;scanf("%f",&mark);if(mark<60)elseprintf("Pass\n");}輸ch;printf("%c\n",ch);}elseif(ch>='a'&&ch<='z')printf("%c\n",ch);}4elseprintf("%c\n",ch);}三/*計算三角積*#include"math.h"#includevoid{doublea,b,c,s,area;printf("請輸入3長");if(a+b>c&&b+c>a&&a+c>b){area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的面積是%f\n",area);}else5這!}

““No/*判斷是否*void{floatprintf("請輸入長:");b+c>a)else}從鍵盤輸入三個數,將它們按從大到小進/*按從大到*6{a,b,c,d,e,f;printf("請輸數n1,n2,n3:");scanf("%d%d%d",&a,&b,&c);printf("排序:%d,%d\n",b,if(a>b){{d=c;e=a;f=b;}{if(c<b){d=a;e=b;f=c;}else{=c;}7}}else{if(b<c)}else{if(a>c)=c;}=c;=a;}}}printf(":%d,%d,%d\n",e,f);}8任入n/*數據統(tǒng)計*#include<stdio.h>void{i,n,m,jishuhe=0,oushuhe=0,jishuge=0,oushuge=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&m);if(m%2!=0){}else{oushuhe=oushuhe+m;}}9printf("%d\n%d\n%d\n%d\n",jishuhe,jishuge,oushuhe,oushuge);}2階,最后剩階;每步階跨階,跨階正好到階梯頂問滿足條件的最少階梯/*愛因斯坦題*#include<stdio.h>void{x=7;while(!((x%3==2)&&(x%5==4)&&(x%6==5)))printf("%d\n",x);}第2天接著吃了第n下1/*猴子吃桃題*/10void{x=1,i;scanf("%d",&n);for(i=1;i<n;i++){}printf("%d\n",x);}(^????????11/**void{Div,Multi;a1,b1;scanf("%d%d",&a,&b);if(a<b){=temp;}{rem=12}Multi=printf("%d\n%d\n",Div,Multi);}求sin(x)的近似值求的近sin(x)=x-x3/3!+x5/5!-x7/7!+....(-1)nx(2n+1)/(2n+1)!+.../*求sin(x)的近似值*#include<math.h>{floatfloati,sinx,x;scanf("%f",&x);a=x;for(i=1;fabs(a/b)>=1e-6;i++)13{=b*2*i*(2*i+1);}printf("%f\n",sinx);}數n,用該字符在屏幕上輸出如下圖形:*************************一個字數14用該字void{ch;scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<(n-1-i);j++)");for(j=0;j<(2*i+1);j++)printf("%c",ch);}}(^數

15兩串字連接將abcdef/*字符串連*void{i,j,k;str[20]={"\0"},str1[10],str2[10];{if(i<j)str[i]=str1[i];elsestr[i]=str2[i-j];}16}/*字接*/void{i,j;for(i=0;str1[i]!='\0';i++);for(j=0;str2[j]!='\0';j++){str1[i]=str2[j];}17=}

一串字加密后1.可和puts()輸入用碼運將a-z,Z各即移2個字母后為a,z移為Y移2為A,Z右移為B18/*簡單加密序*/void{a[80];i;gets(a);for(i=0;a[i]!=0;i++){if((a[i]>='A'&&elseif((a[i]>='y'&&a[i]<='z')||(a[i]>='Y'&&a[i]<='Z'))a[i]=a[i]-24;}}

×5的數組5×主對角191012151720222565

對/*矩陣對角和*void{i,j;sum1=0,sum2=0;for(i=0;i<5;i++)for(j=0;j<5;j++)20for(i=0;i<5;i++){sum2=sum2+a[i][4-i];}%d\n",sum1,sum2);}

入個數,將任意10數據調的10個數①定義、x1、x2,分別存放最大數、在入d1入d221在與比d1入d2;否與x1比較,若x1入x1,并將其下標存結所將x2所/*整*void(){i,a[10],temp;kmax=0,kmin=0;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]>a[kmax])if(a[i]<a[kmin])kmin=i;22}a[0]=a[kmax];a[kmax]=temp;if(kmax!=9){}、字串連接/*exer兩串字符連接*/#include<stdio.h>#include<string.h>void{unsignedinti,j;soustr[80],desstr[80];//printf("pleaseenter//printf("pleaseenter

/*輸入原串*//*輸目的串*/i=strlen(soustr);/*取目的串尾部位置*/for(j=0;{soustr[i]=desstr[j];/*將原串依次接入目的串尾部*/}23}、簡加密程序/*exer字符加密*/#include<stdio.h>#include<string.h>void{unsignedintj;soustr[80],secstr[80];//printf("pleaseenterfor(j=0;{if(soustr[j]>='A'&&soustr[j]<='Z'

/*輸入原串*//*計算大寫字母密文*if(soustr[j]>='a'&&soustr[j]<='z'(soustr[j]-'a'+2)%26+'a';計算小寫字母密*/*其字符不變*/}puts(secstr);}、矩對角線元素和/*exer主和輔對角線上元素之和*/#include<stdio.h>#include<string.h>void{inti,j;inta[5][5];intsum1=0,sum2=0;//printf("pleaseenterfor(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);/*輸數組*/for(i=0;i<5;i++){/*主對角*/sum2+a[i][4-i];/*輔角線*/}printf("%d}24、數順序調整/*exer將最大數調到最前面,最小數調到最后面*/#include<stdio.h>#include<string.h>void{inti,a[10],temp;intkmax=0,kmin=0;//printf("pleaseenterfor(i=0;i<10;i++)/*輸數組*/for(i=0;i<10;i++){if(a[i]>a[kmax])kmax=i;/*找大數位置*/=i;/*找小數位*/}==&&kmin{a[kmax];a[kmax]temp;/*與前的數交換*/}{a[kmax];a[kmax]temp;/*與前的數交換*/=/*與后面的數交換*/}for(i=0;i<9;i++)printf("%d/*輸出數組*/printf("%d\n",a[i]);}、字個數統(tǒng)計/*exer統(tǒng)計大寫字母、小寫字母、數字及其它字符的個數*/#include<stdio.h>#include<string.h>void25{unsignedinti;intcap=0,low=0,dig=0,oth=0;/*定義并初始化*/str[80];//printf("pleaseenterstr:");/*輸原串*/for(i=0;i<strlen(str);i++){&&str[i]<='Z')cap++;/*統(tǒng)計大寫字母*/if(str[i]>='a'&&str[i]<='z')low++;/*統(tǒng)計小寫字母*/if(str[i]>='0'&&/*統(tǒng)計數字*//*統(tǒng)其它字符*/}printf("%d}、學成績計算/*exer求每一個學生的總成績和平均成績*/#include<stdio.h>void{inti,j;floatscore[10][5]={0.0f};floatallsco[10],avesco[10];for(i=0;i<10;i++)for(j=0;j<5;j++)scanf("%f",&score[i][j]);/*輸入學生的成績*/for(i=0;i<10;i++){=0;/*總績清零*/for(j=0;j<5;j++){=allsco[i]+score[i][j];/*累總成績*/}avesco[i]/*計算平均成績*/}for(i=0;i<10;i++)%f\n",allsco[i],avesco[i]);/*輸成績*/}26、姓排序/*exer姓名排序*/#include<stdio.h>#include<string.h>void{int//printf("pleaseenterfor(i=0;i<10;i++)gets(name[i]);/*輸姓名數組*/for(i=0;i<9;i++)/*排*/{k=i;for(j=i+1;j<10;j++)if(strcmp(name[k],name[j])>0)k=j;if(k!=i){/*交換*/}}for(i=0;i<10;i++)/*輸出姓名數組*/}、輸楊輝三角形/*exer打印楊輝三角形*/#include<stdio.h>void{inti,j;inta[6][6];for(i=0;i<6;i++){a[i][i]=1;/*主對角線為1*/=/*第為1*/}for(i=2;i<6;i++)for(j=1;j<i;a[i][j]=/*計算*/for(i=0;i<6;i++){27for(j=0;j<=i;printf("%d",a[i][j]);/*輸*/printf("\n");/*換*/}}、用針實現排序/*exer由鍵盤輸入10個數,將它們按由小到大順序排列*/#include<stdio.h>void{inta[10],*pNULL;/*說數組和指針*/inti,j,temp;=a;a+10;p++)/*指針從數組首到尾*/{p);/*利指針依次輸入*/}a;=i<i++)/*利用指針依次比較*/{=i+1;j<j++)if(*(p+i)*(pj)){*(pi);+i)=*(pj);+j)=}}for(p=a;p<+9;p++)printf("%d*p);}、用針實現字符排序/*exer將10個度小于的字符串排序*void{inti,j;=i<10;i++)28{=/*指數組的每個元素指向各行*}=i<10;i++){gets(psz[i]);/*輸入10個符串*}=i<i++)/*字符串排序*/{=i+1;j<j++){psz[j])>{psz[i]);strcpy(psz[i],psz[j]);strcpy(psz[j],}}}=i<10;i++){/*輸出字符串*/}}、數倒置/*exer將具有個元素的一維數組中的數據倒*/void{intiTemp,inti;=i<10;i++){+i);/*輸入數組*}=a;==a,a+p<q;/*首交*{iTemp=*p;*p*qiTemp;}29=i<10;i++){printf("%d*(a+i));/*輸出*/}}、用針實現數據置調整/*exer輸入10個數,將最大的調到最后,最小的調到最*void*px,int*py);int{intiTemp,*pMax,*pMin;inti;=i<10;i++){+i);/*入數組*}=/*最大值指針指向數組首*pMin=/*最值指針指向數組首地*=i<10;i++){if(*(a+i)*pMax)=+i;if(*(a+i)pMin=ai;}/*最大值是第1個素,最小值是最后一個元*if(pMax==a&&pMin==+9){pMin);}{/*最小值與第一個元素交*pMin);/*最大值與最后一個元素交*swap(a+pMax);}30=i<10;i++){printf("%d*(a+i));/*輸出*/}0;}void*px,int{inttemp;*px;*py;temp;}、用針實現查找維數組中最大數及其位置/*exer找出二維數組(設行)中的最大數及其位置*/void{inta[3][4],(*p)[4],iRow;inti,j;a;=i<i++){=j<j++)*(p+i)j);/*入數組*}iCol=/*設最大數及其置*/iRow=0;=i<i++){=j<j++){if(*(*(pi)j)*(*(p+iCol)){iRow=i;iCol=j;/*改位置*}}}printf("%d%d\n",iRow,iCol,a[iRow][iCol]);}31、用針實現子字串提取/*exer由鍵盤輸入一串字符,從字符串下標為m開取出字符和n由盤輸入成個新的字符串void{

*/szStrSour[80],*pszSour,inti,/*輸入字符串*/&n);/*輸入位置和長度*/pszSour=szStrSour+m;/*確定起始位置*/=szStrDest;=i<i++)/*依取字符*/{*pszDest=pszDest++;pszSour++;}*pszDest='\0';/*在符串末尾追加結束標志*/puts(szStrDest);}、整交換函數設/*exer交換2個數*/#include<stdio.h>void*,int*);/*函聲明*/void{inta,b;//printf("pleaseenterscanf("%d%d",&a,&b);/*輸入個整數*///printf("a=%d,b=%d\n",a,b);swap(&a,&b);/*調函數進行交換*/printf("%d}void*p1,int*p2)/*交函數*/{inttemp;*p2;/*交*/32*p2=*p1;*p1=temp;}、數字符個數統(tǒng)函數設計/*exer統(tǒng)計一串字符中數字字符的個數*/#include<stdio.h>intcount(char*);/*函數聲明*/void{//printf("pleaseenter/*輸字符串*//*調函數進行統(tǒng)計*/}intcount(char*p)/*統(tǒng)函數*/{intwhile(*p!='\0')/*循環(huán)依次遍歷*/{&&*p<='9')num++;/*統(tǒng)計*/}num;

/*指針后移*/}、排函數設計/*exer利用函數排序*/#include<stdio.h>void/*函聲明*/void{intn,i,data[10];//printf("pleaseenter&n);for(i=0;i<n;i++)scanf("%d",&data[i]);/*輸數組*//*調用函數排序*/for(i=0;i<n;i++)printf("%d",data[i]);/*輸數組*/}void/*排函數*/{33inti,j,k,temp;for(i=0;i++)/*排*/{k=i;for(j=i+1;j++)if(a[k]<a[j])k=j;if(k!=i){a[k];a[k]a[i]temp;/*交換*/}}}、矩轉置函數設/*exer矩陣轉置*/#include<stdio.h>voidtranspose(int);/*函數聲明*/void{intn,i,j,&n);for(i=0;i<n;i++){for(j=0;j<n;j++)/*輸數組*/}/*調用函數轉置*/for(i=0;i<n;i++){for(j=0;j<n-1;j++)printf("%d",data[i][j]);/*輸數組*/}}voidtranspose(int/*轉置函數*/{intfor(i=0;i<n;i++)/*轉*/{for(j=0;j<i;{34a[i][j];a[i][j]=a[j][i];a[j][i]=temp;/*交*/}}}、求數函數設計/*exer求素數*/#include<stdio.h>intPrime(int);/*函數聲明*/void{int/*定義整型變量*/for/*循環(huán)依次遍歷待檢測的奇數*/{/*調用函數判斷此數是否為素數*/{printf("%d/*輸素數*/num++;/*統(tǒng)素數*/}}/*輸出素數個數*/}intPrime(int/*判斷此數是否為素數函數*/{int/*定義開關變量*/inti,k;k=sqrt((double)n);found=/*初化開關變量*/i=while(i<=k&&found)/*循環(huán)依次檢測條件*/{if(n%ifound=/*一除盡修正開關變量*/i++;}}、進轉換函數設/*exer八進制數據字符串轉換為十進制數據*/#include<stdio.h>int*);/*函聲明*/35void{/*輸入八進制數據字符串*//*調子函數轉換*/}int*p)/*轉換子函數*/{intfor(;*p!='\0';=num*8+*p-'0';/*進轉換*/}、求大公約數函設計/*exer求最大公約數*/#include<stdio.h>intcomdivi(int/*函數聲明*/void{int//printf("pleaseentertwoscanf("%d%d",&a,&b);/*輸入兩個正整數*/=/*調用函數*/printf("%d\n",com);}intcomdivi(intm,intn)/*求最大公約數子函數*/{intif(n>m)/*如m小,換*/{intz=m;==}{m%n;/*開始迭代*/==}while(q!=0);/*循環(huán)整除取直到余數為0*/36}、對數組判斷/*exer判斷二維數組是否為對稱數組*/#include<stdio.h>int/*函數聲明*/void{intn,i,j,&n);for(i=0;i<n;i++){for(j=0;j<n;j++)/*輸數組*/}if(array((int4))/*調函數判斷*/printf("Yes\n");printf("No\n");}int*p,int/*判此數組是否為對稱數函數*/{int/*定義開關變量*/inti,j;found=/*初始化開關變量*/for(i=0;i<n;i++){for(j=0;j<i;{/*循環(huán)依次判斷*/{found=break;}}}}37、電薄管理程序計/*exer7-1手機電話簿管理*/#include<stdio.h>#include<stdlib.h>#include<string.h>int/*定全局變,代表電話簿長度*/structstud/*定義結構類型*/{name[15];}void);voidinsert();voidsearch(voiddelete();void);int{intk;{0:exit\n");1:2:3:insert\n");4:delete\n");5:output\n");select:");scanf("%d",&k);switch(k){creat();break;break;

/*定義結構數組*//*函的原型聲明*//*主數*//*打印菜單項*//*輸入選擇項*//*退出函數*/38);break;);break;);break;/*調用子函數*/}}0;}void/*生子函數*/{getchar();/*輸入結構數組*/{if(*appella=='*')break;/*輸入*則結束*/strcpy(book[N].name,gets(book[N].phone_num);N++;/*統(tǒng)長度*/}}void/*查子函數*/{inti=0;getchar();while(i<N&&strcmp(book[i].name,appella)!=0){i++;}if(i<N)printf("%s%s

溫馨提示

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

評論

0/150

提交評論