2022年C语言 3.pdf

上传人:C****o 文档编号:33384269 上传时间:2022-08-10 格式:PDF 页数:6 大小:71.65KB
返回 下载 相关 举报
2022年C语言 3.pdf_第1页
第1页 / 共6页
2022年C语言 3.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年C语言 3.pdf》由会员分享,可在线阅读,更多相关《2022年C语言 3.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验指导书实验二【例 3】#include void main() int input_value,minutes,seconds; scanf(%d,&input_value); printf(Input the number of seconds:%dn,input_value); minutes=input_value/60; seconds=input_value%60; printf(%d seconds is equivalent to %d minutes and %d seconds.n,input_value,minutes,seconds); 编程作业【1】#define

2、PIE 3.1415926 #include void main() float r,h,L_circle,S_circle,S_ball,V_ball,V_cylinder; scanf(%f%f,&r,&h); L_circle=2*PIE*r; S_circle=PIE*r*r; S_ball=4*PIE*r*r; V_ball=4*PIE*r*r*r/3; V_cylinder=S_circle*h; printf(L_circle=%fnS_circle=%fnS_n,L_circle,S_circle,S_ball,V_ball,V_cylinder); 选做题【1】#includ

3、e #include void main() float x,square,root; printf(Please input a number:n); scanf(%f,&x); square=x*x; root=sqrt(x); printf(square=%.2fnroot=%.2fn,square,root); 实验指导书实验三【例 1】#include void main() int x,y,t; printf(input x,y:n); scanf(%d%d,&x,&y); if (xy) t=y; y=x; x=t; printf(result:max=%d min=%dn,x,

4、y); 编程作业【1】#include void main() int a=0,b=0,x; x=0&(a=b=777); printf(%d %d %dn,a,b,x); x=777|(a=+b); printf(%d %d %dn,a,b,x); 【2】#include void main() int min,max,nFeets; printf(Please input the number of feets:n); scanf(%d,&nFeets); max=nFeets/2; /* 若脚全是鸡的,则动物数最多 */ if(nFeets%4) min=(nFeets+2)/4; /*

5、 因为脚的总数不能被 4 整除,则可将其中一只鸡看成兔子 */ else min=nFeets/4; /* 若脚全是兔子的,则动物数最少*/ printf(The minimum number of animals is %d.nThe maxmun number of animals is %d.n,min,max); 【3】#include void main() float x,y; printf(Please input a number:n); scanf(%f,&x); if(x=1&x10) y=2*x-1; else y=3*x-11; 选做题【1】#include void

6、main() int num,x,newnum; printf(Please input a numbern); scanf(%d,&num); newnum=num*num; if(num=10000) x=100000; else if(num=1000) x=10000; else if(num=100) x=1000; else if(num=10) x=100; else x=10; /*综合考虑到该数不是两位数时的情况,比如6 也为自守数 */ if(newnum%x=num) printf(%d yes %d*%d=%dn,num,num,num,newnum); else pr

7、intf( 您输入的数不是自守数n); 【100 以内的同构数】#include void main() int num,x,newnum; newnum=num*num; num=1; while (num=10) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - x=10*10; else x=10; newnum=num*num; if(newnum%x=num) printf(%d yes %d*%d=%dn,num,nu

8、m,num,newnum); num+; 【2】#include void main() int age; printf(Please input the age:n); scanf(%d,&age); switch(age) case 2: case 3:printf(%d,enter Lower classn,age);break; case 4:printf(%d,enter Middle classn,age);break; case 5: case 6:printf(%d,enter Higher classn,age);break; default:printf(Sorry,you

9、 cant go to our kindergarten.n); 实验指导书实验四【例 2】#include void main() int s,n,t; s=1; t=1; printf(Please input n:); scanf(%d,&n); while(t=n) s*=t; t+=1; printf(%dn,s); 【例 3】#include void main() int i,n,s=0,t=1; printf(Please input n:); scanf(%d,&n); for(i=1;i=n;i+) t*=i; s+=t; printf(%dn,s); 【例 4】#incl

10、ude void main() int s=0,t,i,j,n; printf(Please input n:); scanf(%d,&n); for(i=1;i=n;i+) t=1; for(j=1;j=2*i-1;j+) t*=j; s+=t; printf(%dn,s); 【例 5】#include void main() int a,n,s=0,i,j; printf(Please input a and n:); scanf(%d%d,&a,&n); j=a; for(i=1;i=n;i+) s+=j; j=10*j+a; printf(%dn,s); 编程作业【1】#include

11、 void main() int s,r,n,m,t; printf( 请输入两个整数:); scanf(%d%d,&n,&m); if(m=0|n=0) printf(error!n); else if(m0) m=(-1)*m; if(n0) n=(-1)*n; if(mn) if(nm) t=n; n=m; m=t; s=m*n; while(r!=0) r=n%m; n=m; m=r; printf( 最大公约数是:%dn,n); printf( 最小公倍数是:%dn,s/n); 【2】#include void main() int k,m,n,i,s=0; printf(Pleas

12、e input k,m,n:); scanf(%d%d%d,&k,&m,&n); for(i=m;i=n;i+) i%k=0?s+=i:s; printf(sum=%dn,s); 【3】#include void main() int i,n,s,sum=0; float aver; printf( 请输入学生总数:); scanf(%d,&n); for(i=1;i=n;i+) printf( 请输入第 %d 个学生的年龄: ,i); scanf(%d,&s); sum+=s; aver=sum/n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

13、- - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - printf(average age=%.2fn,aver); 实验指导书实验五编程作业【1】#include void main() int a30,b6,i,j,n,sum; printf( 刚开始的30 个偶数为:n); for (i=0;i30;i+) ai=2*i+2;/*从 2 开始应为偶数,而不是“从2 开始的奇数” ,原题叙述有误 */ printf(%d ,ai); printf(nn); printf( 对每五个进行取平均值之后是: n); for

14、(j=0;j6;j+) sum=0; for (i=5*j;i(5*(j+1);i+) sum+=ai; bj=sum/5; printf(%d ,bj); printf(nn); printf( 按每行 3 个输出: n); for (j=0;j6;j+) printf(%5d,bj); if(j+1)%3=0) printf(n); 【2】#include #define N 16 void paixu(); void chazhao(); void charu(); int aN,num,sign=0; void main() int i; printf( 请输入 15 个数: n);

15、for(i=0;iN-1;i+) printf( 第%d 个数: ,i+1); scanf(%d,&ai); paixu(); chazhao(); if(!sign) charu(); void paixu() int i,j,t; for(j=0;jN-2;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; printf( 进行从小到大排序后为: n); for(i=0;iN-1;i+) printf(%d ,ai); printf(n); void chazhao() int top,bott,loca,mid,flag=1; printf( 请输入你要查

16、找的数:); scanf(%d,&num); top=0; bott=N-1; if(numaN-1) loca=-1; while (!sign)&(top=bott) mid=(bott+top)/2; if (num=amid) loca=mid; printf( 你要查找的数是该数组中的第%d 个元素n,loca+1); sign=1; else if(numaN-2) aN-1=num; else for(i=0;inum) for(j=N-2;j=i;j-) aj+1=aj; ai=num; break; printf( 插入 %d 后的数组为:n,num); for(i=0;iN

17、;i+) printf(%d ,ai); printf(n); 【3】#include void main() char a1000; int i=0,n; printf( 请输入一段字符:n); gets(a); while(ai!=0) if(ai=A)&(ai=a)&(ai=z) ai=z-(ai-a); else; i+; n=i; puts(破解密码后的原文是:); for(i=0;in;i+) printf(%c,ai); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -

18、 - - - - 第 3 页,共 6 页 - - - - - - - - - 实验指导书实验六【例 6】#include stdio.h int day_year(int,int,int); int day_tab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; void main() int y,m,d; printf(please input y,m,d:n); scanf(%d%d%d,&y,&m,&d); printf(is the %d day in this year,day_y

19、ear(y,m,d); printf(n); int day_year(int y,int m,int d) int sum=0,j,i; if(y%4=0&y%100!=0|y%400=0) for(j=0;jm-1;j+) sum=sum+day_tab1j; sum=sum+d; return (sum); else for(j=0;jm-1;j+) sum=sum+day_tab0j; sum=sum+d; return (sum); 编程作业【1】#include #define N 50 int number(floatN); float average; void main()

20、int i,num; float scoreN,sum=0; for (i=0;iN;i+) printf( 请输入第 %d 个学生的成绩: ,i+1); scanf(%f,&scorei); sum+=scorei; average=sum/N; printf( 这%d 个学生的平均成绩是: %.2f 分n,N,average); num=number(score); printf( 高于平均成绩的有%d 人n,num); int number(float aN) int j,x=0; for (j=0;javerage) x+; return (x); 【2】#include #defin

21、e M 4/* 选手的人数 */ #define N 5/* 评委的人数 */ void paixu1(float scoreN);/* 对每位评委对某个选手的打分进行从大到小的排序 */ void paixu2(float xuanshouM,float numberM);/*对每位选手的最终得分进行从大到小的排序*/ float defen(float scoreN);/*用于计算去掉最高分与最低分以后的平均成绩*/ void main() float scoreN,xuanshouM; float numberM;/*用 于 记 录选手的排名 */ int repeat,i,j; for

22、 (repeat=0;repeatM;repeat+) for(i=0;iN;i+) printf( 请输入第 %d 个评委对第 %d 个选手的评分:,i+1,repeat+1); scanf(%f,&scorei); printf( 对第 %d 号选手的得分进行从大到小排序后为:,repeat+1); paixu1(score); printf(n); xuanshourepeat=defen(score); numberrepeat=xuanshourepeat;/*先将每位选手的得分保存在“排名”数组中, 以便通过查找得出名次*/ printf(%d 号选手的最后得分是%.2f 分,re

23、peat+1,xuanshourepeat); puts(n); for(i=0;iM;i+) numberi=i+1; paixu2(xuanshou,number); for(i=0;iM;i+) printf( 第 %d 名: %.0f 号选 手 , 最 后 得 分 : %.2f 分n,i+1,numberi,xuanshoui); void paixu1(float scoreN) int i,j; float t; for(i=0;iN-1;i+) for(j=i+1;jN;j+) if(scoreiscorej) t=scorei; scorei=scorej; scorej=t;

24、 for(i=0;iN;i+) printf(%.2f ,scorei); void paixu2(float xuanshouM,float numberM) int i,j; float t; for(i=0;iM-1;i+) for(j=i+1;jM;j+) if(xuanshouixuanshouj) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - t=xuanshoui; xuanshoui=xuanshouj; xu

25、anshouj=t; t=numberi; numberi=numberj; numberj=t; float defen(float scoreN) int i; float sum=0,average; for(i=1;iN-1;i+) sum+=scorei; average=sum/(N-2); return (average); 【3】#include #include int alphabetic(char); int longest(char); void main() int i; char line100; printf( 请输入一段字符:n); gets(line); pr

26、intf( 最长的单词是:n); for(i=longest(line);alphabetic(linei);i+) printf(%c,linei); printf(n); int alphabetic(char c) if(c=a&c=A&c=Z) return(1); else return(0); int longest(char string) int len=0,i,length=0,flag=1,place=0,point; for(i=0;i=length) length=len; place=point; len=0; return(place); 实验指导书实验七【例 1】

27、#include void main() int j,k,a12,*p; p=a; for(j=0;j12;j+) scanf(%d,p+); p=a; for(j=0;j12;j+,k+) printf(%3d,*p+); if(k+1)%4=0) printf(n); 【例 2】(1)#include void main() int x=10,y=5,*px,*py; /*px=py;*/ px=&x; py=&y; printf(*px=%d,*py=%dn,*px,*py); (2)#include void main() char *p; char s80; scanf(%s,&s)

28、; p=&s0; printf(%sn,p); 【例 3】#include void main() void swap(int *q1,int *q2); int n1,n2,n3; int *p1,*p2,*p3; p1=&n1; p2=&n2; p3=&n3; printf(请 输 入 三个 整 数n1,n2,n3:); scanf(%d%d%d,p1,p2,p3); if(n1n2) swap(p1,p2); if(n1n3) swap(p1,p3); if(n2n3) swap(p2,p3); printf(排 序 后 三个 整 数为: %d %d %dn,n1,n2,n3); voi

29、d swap(int *q1,int *q2) int p; p=*q1; *q1=*q2; *q2=p; 【例 4】#include void main() int length(char *p); int len; char str20; printf( 请输入一个字符串:); scanf(%s,str); len=length(str); printf(字符串的长度为%dn,len); int length(char *p) int n=0; while(*p)!=0) n+; p+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -

30、- - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - return(n); 编程作业【1】#include void sum(double a,int n,double *even_index_sum_ptr,double *odd_index_sum_ptr); void main() double a100,sumeven,sumodd,*p; int n; printf( 共有多少个元素?); scanf(%d,&n); for(p=a;p(a+n);) scanf(%lf,p+); sum(a,n,&sumeven,&sumo

31、dd); printf( 下 标 为 偶 数 的 元 素 和为 %.4lf, 下 标 为 奇 数 的 元 素 和为%.4lfn,sumeven,sumodd); void sum(double a,int n,double *even_index_sum_ptr,double *odd_index_sum_ptr) double *x; int i; x=a; *even_index_sum_ptr=0; *odd_index_sum_ptr=0; for(i=0;in;i+,x+) if(i%2) *even_index_sum_ptr+=*x; else *odd_index_sum_pt

32、r+=*x; 【2】#include int strcmp(char *p1,char *p2); void main() int m; char str150,str250,*p1,*p2; printf( 请输入两个字符串:n); gets(str1); gets(str2); p1=str1; p2=str2; m=strcmp(p1,p2); printf( 结果为: %dn,m); int strcmp(char *p1,char *p2) int i=0; while(*(p1+i)=*(p2+i) if(*(p1+i+)=0) return(0); return(*(p1+i)-

33、*(p2+i); 【3】#include void swap(int *p1,int *p2); void main() int n1,n2,n3; int *p1,*p2,*p3; p1=&n1; p2=&n2; p3=&n3; puts(请输入三个整数:); scanf(%d%d%d,p1,p2,p3); if(n1n2) swap(p1,p2); if(n1n3) swap(p1,p3); if(n2n3) swap(p2,p3); printf( 从 小 到 大 的 排 列 顺 序为: %d %d %dn,n1,n2,n3); void swap(int *p1,int *p2) in

34、t p; p=*p1; *p1=*p2; *p2=p; 【修改后的程序】#include #include void swap(char *p1,char *p2); void main() char str150,str250,str350; int *p1,*p2,*p3; puts(请输入三个字符串:); gets(str1); gets(str2); gets(str3); if(strcmp(str1,str2)0) swap(str1,str2); if(strcmp(str1,str3)0) swap(str1,str3); if(strcmp(str2,str3)0) swap(str2,str3); printf( 从小到大的排列顺序为:n%sn%sn%sn,str1,str2,str3); void swap(char *p1,char *p2) char p50; strcpy(p,p1); strcpy(p1,p2); strcpy(p2,p); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁