版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言习题课
第1-8章林尚青2012-05-13第一题解析代码题目找出下列程序的错误关键字正确拼写、大小写敏感、括号引号等要匹配Viodmain(){Printf(“\nHello,World!)}第二题解析代码题目++i与i++有何区别++i是先把i的值加1后再使用i的值i++是先使用i的值后再把它的值加1#include<stdio.h>voidmain(){ inta=2; intb=(a++)*(a++)*(a++); printf("%d,%d",a,b);}第三题解析代码题目编一个程序,从键盘输入一个5位正整数,然后分别求出它的个位数、十位数、百位数、千位数和万位数,并打印它的这五位数的和。printf和scanf函数的熟练使用#include<stdio.h>voidmain(){ intnum; scanf("%d“,&num); intge=num%10; intshi=num/10%10; intbai=num/100%10; intqian=num/1000%10; intwan=num/10000; printf("%d,%d,%d,%d,%d\t%d\n",ge,shi,bai,qian,wan,ge+shi+bai+qian+wan);}第四题代码#include<stdio.h>voidmain(){ chara,b; scanf("%c",&a); //getchar(); scanf("%c",&b); printf("%c,%c",a,b);}问题如何用scanf输入两个char的值?第五题解析答案题目输入一个华氏温度,根据公式为c=5/9(f-32)计算并输出摄氏温度,输出要有文字说明,取2位小数。请编程序。如何实现c=5/9(f-32)?5/9=?整型的运算结果还是整型。#include<stdio.h>main(){floatf,c;printf("输入华氏温度:");scanf("%f",&f);c=5.0/9*(f-32);printf("摄氏温度是:%.2f",c);}第六题解析答案题目编写一个程序,显示下列10个转义字符:\a,\b,\n,\r,\t,\v,\’,\”,\\,\?。如何显示转义字符?#include<stdio.h>main(){printf("\\a,\\b,\\n,\\r,\\t,\\v,\\\',\\\",\\\\,\\\?");}第七题解析题目求分段函数y=f(x)的值。f(x)=2x^3-1x<=-1x^21<x<=0;sqrt(x)0<x<=13x+2x>1如何实现分段计算?用if语句实现。第七题答案#include<stdio.h>#include<math.h>voidmain(){doublex,y;printf(“Pleaseenterx:”);scanf("%lf",&x);if(x<=-1) y=2*x*x*x-1;elseif(x<=0) y=x*x;elseif(x<=1) y=sqrt(x);else y=3*x+2;printf("%lf",y);}第八题解析题目输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(用if……elseif和switch语句编写)如何用switch语句实现?第八题答案#include<stdio.h>voidmain(){ charc; c=getchar(); switch(c) { case'':printf("空格");break; case'\n':printf("回车");break; case'0': case'1': case'2': case'3': case'4': case'5': case'6': case'7': case'8': case'9':printf("数字");break; default:printf("英文"); }}第九题解析题目显示Fibonacci数列中值小于15000的所有数据项(每行5输出项)F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2)如何保存F(n-1)和F(n-2)?使用三个变量分别表示F(n),F(n-1),F(n-2),假设为c,b,a初始a=1,b=1循环中,c=a+b,a=b,b=c第九题答案#include<stdio.h>main(){inta,b,c,I;a=1;b=1;for(inti=1;a<15000;i++){ c=a+b; printf("%d\t",a); a=b; b=c; if(i%5==0) putchar('\n');}}第十题解析答案题目以下不是死循环的是( )。A)for(;;x+=i);B)while(1){x++;}C)for(i=10;;i--)sum+=I;D)for(;(c=getchar())!=’\n’;)printf(“%c”,c);什么情况下会发生死循环?判断条件永远为真。D第十一题解析答案题目执行语句“for(i=0;i++<3;);”后,变量i的值为( )。A)2 B)3 C)4 D)5i=0,判断i<3满足,i++,i=1i=1,判断i<3满足,i++,i=2i=2,判断i<3满足,i++,i=3i=3,判断i<3不满足,i++,i=4,至此循环结束C第十二题解析题目输出如下图形: ABBBCCCCCDDDDDDD该几层循环?第十二题答案#include<stdio.h>main(){intsp,i;charc;for(sp=3,c='A';sp>=0;sp--,c++){
for(i=1;i<=sp;putchar(''),i++); for(i=2*(c-'A')+1;i>0;i--) { putchar(c); } putchar('\n');}}第十三题解析题目计算a+aa+aaa……+aa……a(n个a)的值,n和a的值由键盘输入。双层循环,外循环控制有几项,内部循环控制每项有几个a第十三题#include<math.h>#include<stdio.h>voidmain(){intn,a,i,j,sum=0,temp=0;printf("请输入n和a的值,其中a为一位数(格式为n=?,a=?):");scanf("n=%d,a=%d",&n,&a);for(i=1;i<=n;i++){ for(j=i;j>0;j--) { temp+=a*(int)(pow(10,j-1)); } sum+=temp; temp=0;}printf("序列的和为sum=%d\n",sum);}第十四题解析答案题目下列叙述错误的是___________。A)形参是局部变量B)复合语句中定义的变量只在该复合语句中有效C)主函数中定义的变量在整个程序中都是有效的D)其他函数中定义的变量在主函数中不能使用大部分人选DC第十五题解析题目利用随机函数rand()计算圆周率的近似值。(比率)怎么计算圆周率?假如圆的半径为r,则包围圆的外切正方形的面积为2r*2r,圆的面积为πr^2,然后在这其中随机取一些点,假设最后在正方形中有n个点,在圆中有k个点,则有以下公式:πr^2/(2r*2r)=k/n。怎么判断点在圆内呢?x^2+y^2<=r^2。第十五题#include<stdio.h>#include<stdlib.h>#include<math.h>#include<time.h>doublecalPI(intn){intx,y,k=0,r=1000,i;for(i=0;i<n;i++){x=rand()%r+1;y=rand()%r+1;if(x*x+y*y<=1000000){ k++;}}returnk*4.0/n;}intmain(){intn;srand(time(NULL));while(1){scanf("%d",&n);if(n<=0)break;printf("PI=%f\n",calPI(n));}return0;}第十六题解析题目编写函数,验证陈景润的哥德巴赫猜想:任意大偶数为两个素数之和,并输出这两个素数(所谓大偶数是指6开始的偶数)。说明:下面的程序,需要输入查询范围的左右边界a,b,然后程序会验证属于(a,b)区间内的所有偶数都是两个素数之和,并且会打印出这些素数。判断条件如何结束?当找到一个不满足条件的偶数就应该跳出循环。第十六题#include<stdio.h>intsushu(intx){inti;for(i=2;i<x;i++){if(x%i==0) return0;}return1;}main(){inti,j,a,b;printf("输入查询范围:(两个偶数)");scanf("%d%d",&a,&b);for(i=a;i<=b;i+=2){printf("%d:\n",i);for(j=2;j<=i/2;j++){if(sushu(j)&&sushu(i-j))printf("%d+%d=%d\n",j,i-j,i);}printf("\n");}}第十七题解析题目用递归算法,求出两个正整数m、n的最大公约数。递归、辗转相除法思想答案intgcd(intparA,intparB)//最大公约数{if(parB==0){returnparA;}else{returngcd(parB,parA%parB);}}第十八题解析题目定义一个带有3个参数的宏MAX,求3个参数中的最大值。MAX(a,b,c)a>b?(a>c?a:c):(b>c?b:c)答案#include<stdio.h>#defineMAX(a,b,c)a>b?(a>c?a:c):(b>c?b:c)voidmain(){floata,b,c;printf(“输入三个数:”);scanf(“%f%f%f”,&a,&b,&c);printf("最大值为%f",MAX(a,b,c));}第十九题解析题目输入一个整数,从高位到低位一次输出各位数字,其间用逗号隔开。循环控制并放入一个数组中,然后逆序输出。#include<stdio.h>voidmain(){inta[10],x,i;printf("输入一个整数:");scanf("%d",&x);for(i=0;x>0;i++){a[i]=x%10;x/=10;}for(i--;i>=0;i--)printf("%d,",a[i]);printf("\b");}#include<stdio.h>voidmain(){charnum[21]={0};inti;scanf("%s",num);for(i=0;i<20&&num[i]!='\0';i++){if(num[i+1]=='\0'){ printf("%c",num[i]);}else{ printf("%c,",num[i]);} }}投机的方法第二十题解析题目若某数的平方具有对称性质,则称该数为回文数。例如11的平方121,则称11为回文数。请找出1~999中的所有回文数。求出平方数后放入数组a,并判断a[j]与a[n-1-j]是否相等。其中,n为平方数的位数。第二十题答案#include<stdio.h>voidmain(){intx,i,j,a[10],wei,p,n=0;for(i=1;i<1000;i++){p=1;x=i*i;for(j=0;x>0;j++){ a[j]=x%10; x/=10;}wei=j;for(j=0;j<wei/2;j++){ if(a[j]!=a[wei-1-j]) { p=0; break; }}if(p==1){ printf("%d\t",i); n++; if(n%5==0) printf("\n");} }}常见错误一解析错误类型#defineRr;
#define<常量名><值常量>值常量必须是像60这样的常量或者已经定义的宏变量例如:#defineSCORE60#defineTOTAL6*SOCRE宏定义的末尾不能加分号常见错误二解析错误类型用赋值“=”运算符代替判断“==”运算符if(a==b)就是在判断a是否等于bif(a=b),如果b!=0,则条件为真常见错误三解析错误类型条件操作三目运算符“?:”错误:max=a?b:a>b;正确:max=a>b?a:b;常见错误四解析错误类型边界问题,如逆续输出一个5个元素的数组错误:for(i=5;i>0;i--)printf("%d\t",a[i]);正确:for(i=4;i>0;i--)printf("%d\t",a[i]);常见错误五解析错误类型函数声明、函数调用voidf();//声明voidf(){……}//定义voidmain(){f1();//调用}函数调用时不需要写void常见错误六解析错误类型返回类型与变量类型不吻合intf(){doublep=0.0;returnp;}常见错误七解析错误类型循环中使用不存在的变量intf1,f2,f3,f4,f5,f6;for(i=0;i<6;i++){printf("输入第%d个数:",i+1);scanf("%d",&fi);sum=sum+tmp;}应该定义一个数组,然后输入到每个数组元素中。int
f[6];for(i=0;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《基于凝胶-乳液复合微粒的双酶分隔负载及串联催化性能研究》
- 《慢性阻塞性肺疾病急性加重期患者外周血中CD39~+Treg的变化》
- 2023年海南三亚中心医院(海南省第三人民医院)社会招聘笔试真题
- 2024版互联网广告发布合同
- 2024年度住宅小区保洁保安综合服务合同
- 二零二四年度农机产品代理销售合同协议
- 2024年度车队加油卡使用管理合同
- 2024版建筑公司门窗安装工程承包合同
- 2024年度影视制作合同的权益分配及剧本版权保护
- 2024年度咨询服务与抵押贷款合同
- 四川省住宅设计标准
- 12S522 混凝土模块式排水检查井
- 全新公司股权期权协议书下载(2024版)
- DL∕T 1745-2017 低压电能计量箱技术条件
- 创新创业心理学智慧树知到期末考试答案章节答案2024年东北农业大学
- 投诉法官枉法裁判范本
- 《健美操术语》课件
- 银行保安服务 投标方案(技术标)
- 工业设计专业人才培养调研报告
- 食材配送服务方案投标方案(技术方案)
- 《公路工程施工班组规范化安全管理指引》(T-GDPAWS 20-2023)
评论
0/150
提交评论