01-顺序结构程序设计课后练习及题解
《C语言程序设计》课后习题答案解析[第四版]谭浩强
![《C语言程序设计》课后习题答案解析[第四版]谭浩强](https://img.taocdn.com/s3/m/70a3dc2176c66137ee06197b.png)
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。
《C语言程序设计》课后习题答案()谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
C语言(顺序结构)习题与答案

一、单选题1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
程序编译时出错。
main()/*Beginning */{ int r; float s;scanf("%d",&r);s=π*r*r; printf("s=%f\n",s);}出错的原因是()。
A.计算圆面积的赋值语句中使用了非法变量B.存放圆半径的变量r不应该定义为整型C.注释语句书写位置错误D.输出语句中格式描述符非法正确答案:A解析: A、π这个符合不是C语言的合法标识符,应提前进行常量定义2、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是()。
A.12343514B.12353514C.12343513D.12353513正确答案:B解析: B、m++ ++在m后,先使用m的值输出,后给m增1++m,++在m前,先给m的值增1后,再输出m3、有定义语句:int b;char c[10]; ,则正确的输入语句是()。
A.scanf("%d%s",b,c);B.scanf("%d%s",&b,&c);C.scanf("%d%s",b,&c);D.scanf("%d%s",&b,c);正确答案:D解析: D、输入语句整型变量 b 需要取地址 &,c是数组名,本身就代表地址,所以不需要取地址符&4、有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。
C语言——顺序结构程序设计练习题

顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言(顺序结构程序设计)习题与答案

正确答案:D
16、已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch="\";
B.ch= '\xff';ห้องสมุดไป่ตู้
C.ch= '123';
D.ch= '\08';
正确答案:B
二、判断题
1、每个语句和数据定义的最后都必须有分号。(√)
2、算述运算*、/、+和一具有相同的优先级。(×)
A.0~65535
B.0~2147483647
C.0~32767
D.0~255
正确答案:A
12、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.必须在系统调用的库函数的后面
B.必须在最开始
C.可以任意
D.必须在最后
正确答案:C
3、下面四个选项中,均是不合法的浮点数的选项是( )。
A.160.
0.12
e3
B.123
2e4.2
.e5
C.-e3
.234
1e3
D..18
123e4
0.
正确答案:B
4、下面四个选项中,均是合法浮点数的选项是( )。
A.+le+1
5e-9.4
03e2
B.123e
1.2e-.4
+2e-1
第2章 顺序结构、选择结构和循环结构的程序设计 习题答案

第二章顺序结构、选择结构和循环结构的程序设计一、简答1. 参考书上23页2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次3. 参考书上29页4. continue,结束本次循环break,结束循环区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环二、填空题1. 顺序结构,选择结构,循环结构2. if else 和switch3. 语句1 ,语句24. 零5. break ,continue6. 7 ,07. ? : ,双目三、单选1-5 ABDCC 6-10 DBACA 11-15 CBCDA 16-20 ACBAD 21-25 ADCBB 26-29 BCCA四、程序分析题1. end 1end2. num%10 max = t3. j%34. 99五、编程题1.#include <stdio.h>int main(){char str[100] ;gets(str) ;int n1 , n2 , n3 , n4 , i ;n1 = n2 = n3 = n4 = 0 ;for(i = 0 ; str[i] != '\0' ; ++i) {if(str[i] >= 'A' && str[i] <= 'Z')++n1 ;else if(str[i] >= 'a' && str[i] <= 'z')++n2 ;else if(str[i] >= '0' && str[i] <= '9')++n3 ;else}printf("大写字母:%d\n" , n1) ;printf("小写字母:%d\n" , n2) ;printf("数字字符:%d\n" , n3 ) ;printf("其他字符:%d\n" , n4) ;return 0;}2.#include <stdio.h>#include <stdlib.h>int main(){int array[4] , min , max , i ;for(i = 0 ; i < 4 ; ++i)scanf("%d" , &array[i]) ;min = max = array[0] ;for(i = 1 ; i < 4 ; ++i) {if(array[i] < min)min = array[i] ;else if(array[i] > max)max = array[i] ;}printf("min = %d , max = %d\n" , min , max) ;return 0;}3.#include <stdio.h>int main(){float money , lixi ;int year ;scanf("%f %d" , &money , &year) ;switch(year) {case 1 :lixi = money * 0.63 / 100 ;case 2 :lixi = money * 0.66 / 100 ;break ;case 3 :lixi = money * 0.69 / 100 ;break ;case 5 :lixi = money * 0.75 / 100 ;break ;case 8 :lixi = money * 0.84 / 100 ;break ;default :printf("输入错误\n") ;return -1 ;}printf("%f\n" , money + lixi) ;return 0;}4.#include <stdio.h>int main(){int x , y ;scanf("%d" , &x) ;if(x > 100)y = x + 8 ;else if(x < -10)y = -x + 8 ;elsey = 0 ;printf("%d\n" , y) ;return 0;}5.#include <stdio.h>int main(){int i , j , k , m = 3 ;for(k = 5 ; k < 12 ; k += 2 , --m) {for(i = 0 ; i < m ; ++i)printf(" ") ;for(j = 0 ; j < k ; ++j)printf("*") ;printf("\n") ;}return 0;}6.此题可以沿用第五题的思路进一步完善,写出最佳程序。
Luogu深入浅出程序设计竞赛题解目录

Luogu深⼊浅出程序设计竞赛题解⽬录第⼀部分语⾔⼊门第⼀章简简单单写程序第⼆章顺序结构程序设计例题P5703 红 例5P5704 红 例6P5705 红 例71P5706 红 例8P1425 红 例10P3954 红 例11(NOIP 2017 PJ T1)P5707 橙 例12习题P5708 红 习2第三章分⽀结构程序设计例题P5710 红 例1P5711 红 例2P5712 红 例3P5713 红 例5P5714 红 例7P5715 红 例8P5716 红 例9P1085 红 例10(NOIP 2004 PJ T1)P1909 红 例11(NOIP 2016 PJ T1)P1055 橙 例12(NOIP 2008 PJ T1)习题P1422 红 习4P1424 红 习5P1888 红 习6P1046 红 习7(NOIP 2005 PJ)P5717 橙 习8P4414 红 习9(COCI 2006)第四章循环结构程序设计例题P5718 红 例2P5719 红 例3P5720 红 例4P5721 红 例6P1980 红 例8P1035 红 例9(NOIP 2002 PJ)P2669 红 例10(NOIP 2015 PJ T1)P5722 红 例11P5723 橙 例13习题P1307 红 习3(NOIP 2011 PJ T1)P1720 红 习4P5724 红 习5P1420 红 习6P1075 红 习7(NOIP 2012 PJ T1)P5725 红 习8P5726 橙 习9P4956 红 习10(COCI 2017)P1089 红 习11(NOIP 2004 TG T1)第五章数组与数据批量储存习题第六章字符串与⽂件操作第七章函数与结构体例题习题第⼆部分初涉算法第⼋章模拟与⾼精度例题习题第九章排序例题习题第⼗章暴⼒枚举例题习题第⼗⼀章递推与递归例题习题第⼗⼆章贪⼼例题习题另⼀篇题解:第⼗三章⼆分查找与⼆分答案例题习题第⼗四章搜索例题习题第三部分简单数据结构第⼗五章线性表例题习题第⼗六章⼆叉树例题习题第⼗七章集合例题习题第⼗⼋章图的基本应⽤例题习题第四部分基础数学与数论后⾯的讲解居多。
顺序结构程序设计_答案

• import java.util.Scanner; • public class NewChar{ • public static void main(String[]args){ • Scanner input=new Scanner(System.in); • System.out.println("请输入一个字母:"); • char num1=input.next().charAt(0); • if(num1>=97){ • System.out.println("输入的字母为小写字母:"+num1); • char num2=(char)(num1-32); • System.out.println("其对应的大写字母:"+num2); • }else{ • System.out.println("输入的字母为大写字母:"+num1); • char num2=(char)(num1+32); • System.out.println("其对应的小写字母:"+num2); • } • } • }
顺序结构程序设计
Nick Sun 2016年08月24日
1、已知三角形的底边为20,高为10,求其面积。
• public class Task1{ • public static void main(String[]args){ • double l=20,h=10; • double area=h*l*0.5; • System.out.println("三角形的面积="+area); • } • }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序结构程序设计练习
1、编写程序,在屏幕上输出如下字符串
2、编写程序,任意输入矩形的长和宽,求出矩形的周长和面积;
若矩形长是420,宽是297,则结果显示如下:
3、编写程序:任意输入一个整型数,在屏幕上显示它对应的的八进制数、十六进制值以及所表示的字符。
若整型变量x 的值是43,输出结果如下:
4、编写程序:任意输入圆半径r,圆柱高h,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
若输入圆半径r=1.5,圆柱高h=3,程序结果如下:
5、编写程序,将输入的5 个字符译成密码,译码规律是:用原来字母后面的第4 个字母代替原来的字母,字母"A"后面第 4 个字母是"E"."E"代替"A"。
例如, 要将"China"译成密码,因此,"China"应译为"Glmre".
程序设计参考
(注:答案不唯一,可以有不同设计方法)
1、
#include <stdio.h>
int main( )
{
printf("hello,world!\nhello Kitty!\n");
return 0;
}
2、
#include<stdio.h>
int main()
{
int a,b;
long l,s;
printf("请输入边长a b\n");
scanf("%d,%d",&a,&b);
l=2*(a+b);
s=a*b;
printf("周长是:%ld,面积是:%ld\n",l,s);
return 0;
}
3、
#include<stdio.h>
int main( )
{
int x=43;
printf("x 的八进制值是:%o\n", x);
printf("x 的十六进制值是:%X\n", x);
printf("ASCII 码值为%d 所对应的字符是:%c\n", x , x); return 0;
}
4、
#include<stdio.h>
int main()
{float r,h,C1,Sa,Sb,Va,Vb;
scanf("%f,%f",&r,&h);
C1=2*3.14*r;
Sa=3.14*r*r;
Sb=4*Sa;
Va=4*3.14*r*r*r/3;
Vb=Sa*h;
printf("C1=%.2f\n",C1);
printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb); return 0;
}
5、
#include<stdio.h>
int main()
{char c1,c2,c3,c4,c5;
printf(" 请输入5 个字符\n");
scanf("%c%c%c%c%c",&c1,&c2,&c3,&c4,&c5);
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}。