版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TOC\o"1-3"\h\z\u21308习题一 28445习题二 325202习题三 428246习题四 10C语言程序设计习题解答习题一单项选择题C 2.A 3.D二、填空题 1.顺序结构选择结构循环结构 2.算法 3.语言简洁、运算符丰富、结构化语言 4.可移植性强、代码效率高、书写格式自由 5.错误隐蔽、有时会难以理解、有时会难以修改 6.群举法(枚举法)、递推法(迭代法)、递归法 7.做什么怎么做三、应用题 1. include<stdio.h> voidmain() { printf(“*************************\n”); printf(“Clanguageprogram\n”); printf(“*************************\n”); } 2. include<stdio.h> voidmain()Z\+ { inta,b,c,max; scanf(“%d%d%d”,&a,&b,&c); if(a>b)max=a; elsemax=b; if(max<c)max=c; printf(“Max=%d\n”,max); }
习题二一、单项选择题1.A,D,E 2.B,E 3.B,D,E,F,H 4.B,F 5.A,B,E二、填空题 1.⑴int ⑵char ⑶double ⑷long ⑸char ⑹char ⑺int ⑻long 2.⑴0 ⑵0 ⑶2 ⑷4 ⑸4 ⑹8 ⑺0 ⑻2 3.2 1 1 1 4.不做 5.sin(25*3.14159/180)+cos(30*3.14159/180) 6.2 8.5三、给出各个程序的运行结果 1.运行结果如下: 3 21 5 5 2.运行结果如下: 6,9 9,27
习题三一、单项选择题1.D2.B3.D4.C5.B6.C7.B8.A9.C10.D11.D12.D13.B14.A15.A16.B17.C18.C19.B20.B21.D22.C23.C24.D25.C26.C27.D28.D29.B30.A二、填空题1.从标准设备(键盘)上读入一个字符向标准设备(键盘)上输出一个字符#include<stdio.h>2.以十进制形式输入一个整数表示从标准输入设备(键盘)读取输入的3个整型数表示掉过3个整数不读取用来输入一个字符3.以十进制形式输出一个整数以十六进制形式输出一个整数以十进制小数形式输出,输出的数据长度为7位,其中有两位为小数以字符形式输出一个字符4.分程序;; 5.-1 6.非007.a%7==0else 8.3 9.210.forwhiledo-while 11.Continue 12.a=16,y=4213.10 14.y=19 15.2222216.39 17.7 18.5,519.n=4 20.-3 21.8三、程序阅读分析题1.2.3.0 4. 567 5.thisnumberisahuiwen四、编程题1.编写一个程序,要求用户输入两个整数,判定其中一个是否能整除另一个。#include<stdio.h>intmain(){ inta,b; while(scanf("%d%d",&a,&b)==2){ if(a%b)printf("不能整除\n");elseprintf("能整除\n"); } return0;}2.编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:①能同时被3,5,7整除;②能被其中两数(要指出哪两个)整除;③能被其中一个数(要指出哪一个)整除;④不能被3,5,7任一个整除。#include<stdio.h>voidmain(){ inta; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0&&a%5==0&&a%7==0) printf("%d能同时被3,5,7整除\n",a); elseif(a%3!=0&&a%5==0&&a%7==0) printf("%d能同时被5,7整除\n",a); elseif(a%3==0&&a%5!=0&&a%7==0) printf("%d能同时被3,7整除\n",a); elseif(a%3==0&&a%5==0&&a%7!=0) printf("%d能同时被3,5整除\n",a); elseif(a%3==0&&a%5!=0&&a%7!=0) printf("%d能被3整除\n",a); elseif(a%3!=0&&a%5==0&&a%7!=0) printf("%d能被5整除\n",a);elseif(a%3!=0&&a%5!=0&&a%7==0) printf("%d能被7整除\n",a); elseprintf("%d不能被3,5,7整除\n",a);}3.市郊长途电话收费标准如下:通话时间在三分钟以下收费一角,三分钟以上则每超过一分钟加一角。在7:00—21:00之间通话者,按收费标准全价收费;在其它时间通话者,按收费标准的一半收费。请计算某人在x时间通话y分钟,应缴多少电话费。(通话时间利用整数输入实现)#include<stdio.h>main(){ floatx,y=0; intt; scanf("%f%d",&x,&t);if(t>7&&t<21){if(x<3)y=0.1;elsedo{y=0.2+y;x=x-1;}while(x-3>0); } else {if(x<3)y=0.1/2;elsedo{y=(0.2+y)/2;x=x-1;}while(x-3>0); } printf("%f",y);}4.输入a、b、c三条边,判断它是否构成三角形。若能构成三角形,则计算三角形面积。#include<stdio.h>#include<math.h>main(){ floata,b,c,S=0,x=0; printf("输入三角形三条边的边长:"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b) {x=(a+b+c)/2.0;S=sqrt(x*(x-a)*(x-b)*(x-c));printf("area=%.3f\n",S); } Elseprintf("不能构成三角形\n");}5.打印出所有”水仙花数”。所谓”水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个”水仙花数”,因为153=13+53+33。#include"stdio.h"#include"math.h"main(){ inti;inta,b,c;for(i=100;i<=999;i++) {a=i%10;/*取个位数*/b=i/10%10;/*取十位数*/c=i/100;/*取百位数*/if(i==a*a*a+b*b*b+c*c*c)printf("%d",i);}}6.编写一个程序,在屏幕上显示如下图形(图形的层数读者自行设定):*************************#include<stdio.h>#include<math.h>main(){inti,j,k;for(i=-3;i<=3;i++){for(j=1;j<=abs(i);j++)printf("%c",32);for(j=1;j<=7-2*abs(i);j++)printf("*");printf("\n");}}7.求斐波那契(Fibonacci)数列:1,1,2,3,5,8,的前40个数。斐波那契数列的定义:F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n≥3)#include<stdio.h>main(){intf1,f2,f;inti;f1=f2=1;printf("%d\n%d\n",f1,f2);for(i=1;i<=38;i++)/*已经有两个数,只要再产生38个数即可*/{ f=f1+f2; f1=f2; f2=f; printf("%d\n",f);}}8.编程实现求1+2+3+…+n之和,并输出当其和第一次大于或等于100时的值及n值。#include<stdio.h>main(){ inti,s,t=0; i=1;s=0; while(i<=100) { s=s+i; if(s>=100&&t<1)/*设定t只求第一次和大于100的内容*/ { printf("第一次和大于或等于100时和为%d\n",s); printf("第一次和大于或等于100时n为%d\n",i);t+=1; } i=i+1; } printf("s=%d\n",s);}9.整元换零钱问题。把1元兑换成1分、2分、5分的硬币,共有多少种不同的换法?#include<stdio.h>main(){ inti,j,k,n; n=100,k=0; for(i=0;i<=n/5;i++) for(j=0;j<=(n-i*5)/2;j++) { printf("5cent=%d\t2cent=%d\t1cent=%d\n",i,j,n-i*5-j*2); k++; } printf("totaltimes=%d\n",k);}10.编写解鸡兔同笼问题的程序。用户输入头的数目和脚的数目,输出鸡、兔各有多少只。#include<stdio.h>main(){ intx,y,a,b; printf("输入鸡兔头的数目:"); scanf("%d",&x);printf("输入鸡兔脚的数目:"); scanf("%d",&y);a=x-(y-2*x)/2; b=(y-2*x)/2; printf("鸡有%d只,兔有%d只",a,b);}11.打印杨辉三角形,即(x+y)n展开式的各项系数。并且在程序运行开始时,问用户n的值为多少,接着打印如下形式至指定行数。111121133114641...#include<stdio.h>intmain(){ intn,k,j,c; printf("Input="); scanf("%d",&n); for(k=1;k<=n;k++) {//printf("%*s",4*(n-k));/*格式控制语句,有和没有是两种显示方式*/c=1;printf("%4d",c);for(j=1;j<=k-1;j++) {c=c*(k-j)/j;printf("%8d",c); }printf("\n"); } return0;}12.个位数是6,且能被3整除的五位数共有多少个?#include<stdio.h>main(){ inta,count=0; longi; for(i=10000;i<100000;i++) { a=i%10; if(a==6&&i%3==0) count++; } printf("这样的数共计:%d",count);}
习题四一、单项选择题1.C2.D3.D4.D5.C6.D7.B8.A9.B10.B二、填空题1.一15014float2.83.连续数组名4.按行存储5.046.3507.368.99.710.#include<stdio.h>#include<string.h>三、程序阅读分析题1.i==ja[i][j]a[i][j]printf("\n")2.k=323.gbcdefa4. 012345 123456 234567 345678 456789 56789105.you&me四、编程题1.设数组V中的数据元素递增有序,现将x插入到数组V的适当位置,使数组元素的值仍保持有序。#include<stdio.h>voidmain(){ intV[15]={65,70,73,75,79,81,85,88,90};/*有9个初值,有序*/ intn=9,x=77;/*数组中当前有n个数据,将x插入数组V中,仍保持有序*/ inti; for(i=n-1;i>=0&&V[i]>x;i--)/*将V数组中的数据从后往前比较*/ V[i+1]=V[i];/*若大于x,后移一个位置*/ V[i+1]=x;/*将x插入数组V中*/ n++;/*数组中数据个数增1*/ for(i=0;i<n;i++)/*输出数组中的n个数据*/ printf("%d",V[i]); printf("\n");}2.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。#include<stdio.h>voidmain(){ intarray[30],average[6]={0}; inti,j; for(i=0;i<30;i++) array[i]=2*(i+1); for(j=0;j<6;j++) { for(i=5*j;i<5*(j+1);i++) average[j]+=array[i]; average[j]/=5; printf("%d",average[j]); } printf("\n");}3.输入一个字符串,在指定位置插入一个字符。#include<stdio.h>voidmain(){ charstr[81],ch; inti,position; printf("输入一个字符串:"); gets(str); printf("输入要插入字符的位置:"); scanf("%d",&position); printf("输入要插入的字符:"); scanf("%*c%c",&ch); for(i=0;str[i]!='\0';i++); while(i>=position-1) { str[i+1]=str[i]; i--; } str[position-1]=ch; printf("在指定位置插入字符后的字符串:%s\n",str);}4.输入一行字符,分别统计其中十个数字字符'0','1',…,'9'出现的次数。#include<stdio.h>voidmain(){ charstr[81]; intcount[10]={0},i; printf("输入一行字符:\n"); gets(str); for(i=0;str[i]!='\0';i++) if(str[i]>='0'&&str[i]<='9') count[str[i]-'0']++; for(i=0;i<10;i++) printf("\'%c\':%d\n",'0'+i,count[i]);}5.输入矩阵A(2行3列)和矩阵B(3行4列),计算它们的乘积C=A·B。(矩阵乘积计算公式:Cij=∑AikBkj)#include<stdio.h>voidmain(){ inta[2][3],b[3][4],c[2][4]; inti,j,k; printf("输入2行3列矩阵数据:\n"); for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); printf("输入3行4列矩阵数据:\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&b[i][j]); for(i=0;i<2;i++) for(j=0;j<4;j++) { c[i][j]=0; for(k=0;k<3;k++) c[i][j]+=a[i][k]*b[k][j]; } printf("两矩阵的乘积矩阵是:\n"); for(i=0;i<2;i++) { for(j=0;j<4;j++) printf("%5d",c[i][j]); printf("\n"); }}6.下面是一个5×5阶的螺旋方阵。试编程打印出此形式的n×n(n<10,顺时针方向旋进)。12345161718196152425207142322218131211109#include<stdio.h>#defineN5voidmain(){ inta[N][N],i,j,k,n; i=0; j=0; n=1; for(k=1;k<=N*N;k++) { if(i==n-1&&j<N-n) a[i][j++]=k; elseif(j==N-n&&i<N-n) a[i++][j]=k; elseif(i==N-n&&j>n-1) a[i][j--]=k; else a[i--][j]=k; if(i==n&&j==n-1) n++; } for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%5d",a[i][j]); printf("\n"); }}7.编一程序,实现字符串复制,不使用strcpy()函数。#include<stdio.h>voidmain(){ charstr1[81],str2[]="Iamastudent."; inti; for(i=0;(str1[i]=str2[i])!='\0';i++); printf("%s\n%s\n",str1,str2);}8.编一程序,求字符串的长度,不使用strlen()函数。#include<stdio.h>voidmain(){ charstr[81]; intn; printf("输入一个字符串:"); gets(str); n=0; while(str[n]!='\0') n++; printf("字符串的长度是:%d\n",n);}9.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。#include<stdio.h>voidmain(){ charstr[3][81]; charcategory[5][10]={"UPPER","LOWER","DIGIT","SPACE","OTHER"}; inti,j,count[5]={0}; printf("输入3行文字:\n"); for(i=0;i<3;i++) gets(str[i]); for(i=0;i<3;i++) for(j=0;str[i][j]!='\0';j++) if(str[i][j]>='A'&&str[i][j]<='Z') count[0]++; elseif(str[i][j]>='a'&&str[i][j]<='z') count[1]++; elseif(str[i][j]>='0'&&str[i][j]<='9')
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包商起重吊装作业安全指挥管理工作手册
- 水产疾病防治与养殖技术手册
- 畜禽病死畜禽无害化处理手册
- 2026年版权许可使用合同(版权方与使用方)三篇
- 2024年图木舒克职业技术学院单招综合素质考试模拟试卷附参考答案详解AB卷
- 2024年河南驻马店驿城职业学院单招综合素质考试题库含答案详解(突破训练)
- 2025年洧水职业学院高职单招职业适应性测试考试模拟试卷含答案详解【模拟题】
- 2027年洛阳万安山职业学院单招综合素质考试模拟试卷(考点提分)附答案详解
- 2027年四川省攀枝花市高职单招职业技能考试题库及参考答案详解(培优A卷)
- 2024年滨州科技职业学院高职单招职业适应性测试考试模拟试卷附参考答案详解(研优卷)
- 2026年宁夏宁东泰畅水务有限责任公司对外公开招聘工作人员考试备考题库及答案详解
- 2026年部编版新教材语文四年级上册第二单元测试题及答案
- 群体性事件现场处置方案培训课件
- 2026年中考语文考前抢分速记手册(吉林专版)
- 2024年关于三会一课学习计划
- 荆州市国土空间总体规划(2021-2035年)
- 最强非标自动化计算表格.V23SP1(二里半教育2023.07)
- 重症护理超声理论测试题(含答案)
- 《淀粉与变性淀粉》课件
- 风湿免疫疾病的新型治疗药物与进展
- 锂硫电池市场调研报告
评论
0/150
提交评论