ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:30.60KB ,
资源ID:28408402      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28408402.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言练习题解析.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言练习题解析.docx

1、c语言练习题解析1停车场收费问题一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。最高收费为40元。假设任何车辆的停车时间都不超过24小时。编写程序,计算每辆车的停车费。(注意输出结果小数点后保留两位)输入#include int main() double m,x; printf(输入停车时间x:); scanf(%lf,&x); if(x=24) if(x3.0) m=5.0+2.0*(x-3.0); if(m=40) printf(%lfn,m); els

2、e printf(输出停车费用40元n); return 0;2.#includeint main() double x,m; printf(输入停车时间(x):); scanf(%lf,&x); if(x=24) if(x3) m=5.0+2.0*(x-3.0); if(m=40) printf(%6.2fn,m); else printf(停车费用40元n);2 计算细菌数量一种细菌的繁殖速度是每天成倍增长。例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,。现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。 3 计算邮资计算邮资:用户输

3、入:邮件的重量,以及是否加快计算规则:重量在1克以内(包括1克), 基本费0.8元。超过1克的部分,按照0.5元/克的比例加收超重费。如果用户选择加快,多收2元。#includeusing namespace std;int main() double x,sum; char exp; while(cinxexp) if(x=1&exp=n) sum=0.8; if(x1&exp=n) sum=0.8+(x-1)*0.5; if(x1&exp=y) sum=0.8+(x-1)*0.5+2; coutsumendl; return 0;#include using namespace std;

4、int main() int x,y; /变量定义,此处假设需要定义两个变量,均定义为整型 while(cinxy) 你对一组输入的一次处理过程代码 return 0; C: #include using namespace std; int main() int x,y; /变量定义,此处假设需要定义两个变量,均定义为整型 while(scanf(%x %y,&x,&y)!=EOF) 你对一组输入的一次处理过程代码 return 0; 注意:考虑以下几点,然后直接套用模版就行了: i) 变量定义。 ii) 有几个变量需要输入,在while中cin相应的变量。 iii) 开始考虑主程序代码,在

5、“”中写一次处理过程的代码即可。4学分绩点计算北京大学对本科生的成绩施行平均学分绩点制(GPA)。既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。公式如下:实际成绩 绩点90100 4.08589 3.78284 3.37881 3.07577 2.77274 2.36871 2.06467 1.56063 1.060以下 01一门课程的学分绩点=该课绩点*该课学分2总评绩点=所有学科绩点之和/所有课程学分之和现要求你编写程序求出某人A的总评绩点(GPA)。#includeint main() int str110,str210,n,i;/定义两个数组分别表示每门课的学分,所得

6、绩点 double h,GPA,sum=0,s=0;/定义双精度变量h表示学分,GPA总评绩点,sum表示所有学科绩点之和,s表示所有课程学分之和。 scanf(%d,&n); for(i=0;in;i+) scanf(%d,&str1i); s=s+str1i; for(i=0;in;i+) scanf(%d,&str2i); if(str2i=90) h=4.0; else if(str2i=85) h=3.7; else if(str2i=82) h=3.3; else if(str2i=78) h=3.0; else if(str2i=75) h=2.7; else if(str2i=

7、72) h=2.3; else if(str2i=68) h=2.0; else if(str2i=64) h=1.5; else if(str2i=60) h=1.0; else h=0; sum=sum+h*str1i; GPA=sum/s; printf(%.2fn,GPA); return 0;5一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物#includeint main() int a,min,max,s; scanf(%d,&s); while(s=1) scanf(%d,&a); if(

8、a%2=1) min=0; max=0; else if(a%4=0) min=a/4; max=a/2; else min=(a-2)/4+1; max=a/2; printf(%d %dn,min,max); s-; return 0;5通过指针变量访问整型变量#includeint main() int a=100,b=10; /定义整型变量a,b并初始化int*pointer_1,*pointer_2; /定义指向整型数据的指针变量pointer_1,pointer_2;pointer_1=&a; /把变量a的地址赋给指针变量pointer_1pointer_2=&b; /把变量b的地

9、址赋给指针变量pointer_2printf(a=%d,b=%dn,a,b); /输出变量a和b的值printf(*pointer_1=%d,*pointer_2=%dn,*pointer_1,*pointer_2);/输出变量a和b的值return 0;6输入a和b两个整数,按先大后小的顺序输出a和b#includeint main() int *pointer_1,*pointer_2,*pointer_3,a,b;/*pointer_1,*pointer_2的类型是指向整型的指针变量 printf(please enter two integer numbers:); scanf(%d,

10、%d,&a,&b);/输入两个整数 pointer_1=&a;/使p1指向变量a pointer_2=&b;/使p2指向变量b if(ab) /如果ab pointer_3=pointer_1;/将p1,p2的值互换 pointer_1=pointer_2; pointer_2=pointer_3; printf(a=%d,b=%dn,a,b);/输出a,b printf(max=%d,min=%dn,*pointer_1,*pointer_2);/输出p1,p2所指向变量的值 return 0;7,函数嵌套调用输入3个整数,要求由大到小输出,用函数调用。#includeint main()

11、void exchange(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; printf(please enter three numbers:); scanf(%d,%d,%d,&a,&b,&c); p1=&a; p2=&b; p3=&c; exchange(p1,p2,p3);printf(the older isn: );return 0;void exchange(int *q1,int *q2,int *q3) void swap(int *pt1,int *pt2); if(*q1*q2) swap(q1,q2); if(*q1*q

12、3) swap(q1,q3); if(*q2*q3) swap(q2,q3);void swap(int *pt1,int *pt2)int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;8,改写大小写,要求从键盘输入大写字母,从显示器上输出小写字母#includeint main() char c1,c2; c1=getchar(); c2=c1+32; putchar(c2); putchar(n); return 0;9输入三个数,a,b,c要求按由小到大顺序输出。#includeint main() float a,b,c,t; printf(please en

13、ter three numbers :); scanf(%f,%f,%f,&a,&b,&c); if(ab形式交换位置使小的在前,若按由大到小则是ab形式 a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);return10给定一个正整数k(1k10),求1到k的立方和m。即m=1+2*2*2+k*k*k。输入13#includeint main()int k,m=0,i=1;scanf(%d,&k);if(1k&k10)/这里进行修改,注意你的写法在c语言里是不成立的whil

14、e(i=k)m=m+i*i*i;i+=1;printf(%d,m);elseprintf(error);return 0;用一个字符串表示一段基因,例如:“CTATGGGTTT”。两段基因的相似度定义为它们所包含的最大公共子串的长度。例如:“CCTTGG”和“TGGGC”的最大公共子串为“TGG”,它的长度为3,则我们称“CCTTGG”和“TGGGC”的相似度为3。现给定两段基因,要求计算它们的相似度。111晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出OK;如果不能则输出NO#include#includevoid ma

15、in() int w,c,y,m,d; /c世纪 y年 w星期 d日 m月; scanf(%d%d%d,&y,&m,&d); c=y/100; y= y - c * 100; /分离世纪与年; if(m=1) m=13; if(y=00) y=99; c-; y-; if(m=2) m=14; if(y=0) y=99; c-; y-; w=y+y/4+c/4-2*c+26*(m+1)/10+d-1; / 蔡勒公式 switch(w % 7) case 1: case 3: case 5: printf(NOn);break; case 2: case 4: case 6: case 0: p

16、rintf(YESn);break; 12求一个长度不大于100的字符串的长度,要求不使用strlen方法,并且使用到字符指针。原文地址:1023-求字符串长度作者:小礼子地盘求一个长度不大于100的字符串的长度,要求不使用strlen方法,通过自定义的#includeint main() int length(char *p); int len; char str100; gets(str); len=length(str); printf(%dn,len); return 0;int length(char *p) int n; n=0; while(*p!=0) n+; p+; retu

17、rn (n);函数实现字符串长度的计算。函数定义为:int GetStrLen(char *pStr)Input一行字符串,使用(gets(str)方法读取此行字符串)。Output输出只有一行,只包含一个整数,表示字符串的长度。具体程序:#include main() char a101; int sum=0,i; gets(a); for(i=0;ai!=; i+) sum+;printf(%dn,sum); 描述求前n(1n12)个整数的阶乘的和(即求1!+2!+3!+.+n!)。# include int main() int i,n,r,temp; scanf(%d,&n); r=0

18、; temp=1; for(i=1;i=n;i+) temp=temp*i; r+=temp; printf(%dn,r); return 0; 有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,. 求这个分数序列的前n项之和题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。#includemain() int i,x,y,a; float sum=0; x=2; y=1; for(i=1;i20;i+) sum+=(float)(x)/y; / printf(%d/%dn,x,y); a=x; x=x+y; y=a; p

19、rintf(%7.5fn,sum); 12在北大校园里,没有自行车,上课办事会很不方便.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间.假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米.请判断走不同的距离去办事,是骑车快还是走路快.#includeint main() int n,i,s; double t1,t2; scanf(%d,&n); while(n=1) scanf(%d,&s); t1=s/1.2; t2=s/3.0+50; if(t1t2) printf(Biken)

20、; if(t1t2) printf(Walkn); if(t1=t2) printf(Alln); n-; return 0;#include void main() int k,j; float a1=0,t110,t210; scanf(%d,&k); for(j=1;j=k;j+) scanf(%f,&a0); t1j=50+a0/3; t2j=a0/1.2; for(j=1;j=k;j+) if(t1jt2j) printf(Biken); else if(t2jt1j) printf(Walkn); else printf(Alln);13一张CT扫描的灰度图像可以用一个N*N(0N

21、100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长#includeint main() int a100100,i,j,n,mj=0,zc=0; scanf(%d,&n); for

22、(i=0;i=n-1;i=i+1) for(j=0;j=n-1;j=j+1) scanf(%d,&aij); for(i=0;i=n-1;i=i+1) for(j=0;j=n-1;j=j+1) if(aij=50) mj=mj+1; if(i=0|j=0|i=n-1|j=n-1)&aij50)|(aij-150)|(ai+1j50)|(ai-1j50)&(aij=50) zc=zc+1; printf(%d %dn,mj,zc); return 0;14给定一个正整数k(1k10),求1到k的立方和m。即m=1+2*2*2+k*k*k。#includeint main() int i,k,su

23、m=0; scanf(%d,&k); for(i=1;i=k;i+) sum=sum+i*i*i; printf(%dn,sum); return 0;求前n(1n12)个整数的阶乘的和(即求1!+2!+3!+.+n!)。输入#includeint main() int n,i,t,r; r=0;t=1; scanf(%d,&n); for(i=1;i=n;i+) t=t*i; r=r+t; printf(%dn,r); return 0;15有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,. 求这个分数序列的前n项之和。#includeint main() int i,

24、n; double sum=0,a=1,b=2,t; scanf(%d,&n); for(i=1;i=n;i+) sum=sum+b/a; t=b; b=a+b; a=t; printf(%.4lfn,sum); return 0;16一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6123,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:#includeint main() int i,j,sum=0; for(i=1;i=1000;i+) for(j=1;j=i/2;j+) if(i%j=0) sum=sum+j; if(sum=i) printf(%d its factors are ,i); for(j=1;ji/2;j+) if(i%j=0) printf(%d,j); if(i%(i/2)=0) printf(%d,i/2); printf(n); sum=0; return 0;17将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。#includeint main() int a100,i,b100,k; scanf

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1