西北农林科技大学c语言实习答案_第1页
西北农林科技大学c语言实习答案_第2页
西北农林科技大学c语言实习答案_第3页
西北农林科技大学c语言实习答案_第4页
西北农林科技大学c语言实习答案_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习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/*数据统计*#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]);}、字个数统计/*exer统计大写字母、小写字母、数字及其它字符的个数*/#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++;/*统计大写字母*/if(str[i]>='a'&&str[i]<='z')low++;/*统计小写字母*/if(str[i]>='0'&&/*统计数字*//*统其它字符*/}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;}、数字符个数统函数设计/*exer统计一串字符中数字字符的个数*/#include<stdio.h>intcount(char*);/*函数声明*/void{//printf("pleaseenter/*输字符串*//*调函数进行统计*/}intcount(char*p)/*统函数*/{intwhile(*p!='\0')/*循环依次遍历*/{&&*p<='9')num++;/*统计*/}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/*循环依次遍历待检测的奇数*/{/*调用函数判断此数是否为素数*/{printf("%d/*输素数*/num++;/*统素数*/}}/*输出素数个数*/}intPrime(int/*判断此数是否为素数函数*/{int/*定义开关变量*/inti,k;k=sqrt((double)n);found=/*初化开关变量*/i=while(i<=k&&found)/*循环依次检测条件*/{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);/*循环整除取直到余数为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;{/*循环依次判断*/{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++;/*统长度*/}}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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论