C语言学习知识程序设计实验与习题集规范标准答案

合集下载

C语言程序设计实验与习题指导同步自测答案

C语言程序设计实验与习题指导同步自测答案

C语言程序设计实验与习题指导同步自测答案2.1.3 同步自测一、选择题1.D2.C3.D4.C5.A6.B7.D8.C二、填空题1.①c ②exe2.①main3.①函数说明部分②函数体4.①主或main ②主或main5.①;2.2.3 同步自测一、选择题1.B2.D3.C4.C5.C6.B7.D8.A9.C 10.B 11.D 12.D 13.D 14.C 15.C 16.D 17.C 18.C 19.B 20.A 21.D 22.A 23.D 24.C 25.D 26.B 27.B 28.D 29.D 30.C 31.A 32.B 33.D 34.B 35.C2.3.3 同步自测一、选择题1.B2.C3.D4.A5.B6.A7.A8.A9.D 10.B2.4.3 同步自测一、选择题1.B2.A3.B4.C5.B6.D7.C8.A9.D 10.B二. 编程题1.#include<stdio.h>void main(){int x,y;printf("请输入自变量x的值: "); scanf("%d",&x);if(x<0) y=3*x+1;else if(x<5) y=2*x;else y=x+2;printf("\n函数y的值为: %d",y); }2.#include<stdio.h>void main(){int a,b,c,d,t;printf("请输入四个整数:\n");scanf("%d%d%d%d",&a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b;b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf("按新顺序输出的数为: %d %d %d %d",a,b,c,d);}2.5.3 同步自测一、选择题1.C2.C3.D4.D5.D6.C7.D8.B9.A 10.B11.B 12.B 13.B 14.B 15.C二、填空题1.①getchar()2.①n++3.①′\n′②num++;4.①n<=m ②total=total+sum5.①(i/100)*(i/100)*(i/100)+((i/10)%10)*((i/10)%10)*((i/10)%10)+(i%10)*(i%10)*(i%10)②g==i6.①107.①i%j==08.①b9.①y=1 ②x%i==0 10.①2*x+4*y==90三. 读程序写结果题1.8,1....2. 572..3. .四. 编程题1.main(){int x,y,a,b;for(x=100;x<1000;x++){y=0;a=x;while(a){ y=y*10+a%10;a=a/10;}if(x+y==1333)printf("a=%d;b=%d;c=%d\n",x/100,(x/10)%10,x%10);}}2.main(){long x,y/* 存放x */,n/* 记录x的位数 */,s/* 存放x*x */;long z /* 存放被取的顺序从右到左的相应部位数字 */,t/*十进制的权*/; for(x=1;x<=100;x++){y=x;n=0;z=0;t=1;while(y){n++; /* 记录x的位数 */y=y/10;}s=x*x;for(;n>0;n--){z+=(s%10)*t; /* 取相应部位数字 */t*=10;s=s/10;}if(x==z) printf("%-10ld",x); }}3.main(){int i;for(i=1;i<=100;i++)if((i+3)%5==0&&(i-3)%6==0) {printf("%d",i);break;}}4.main(){int x,a,b,c;for(x=100;x<1000;x++){a=x/100;b=(x/10)%10;c=x%10;if(a*a*a+b*b*b+c*c*c==1099)printf("%-10d",x);}}5.main(){int x,a,b,c,count=0;for(x=100;x<1000;x++){a=x/100;b=(x/10)%10;c=x%10;if(a+b+c==5)count++;}printf("共有%d个其各位数字之和是5的数字",count); }2.6.3 同步自测一、选择题1.B2.C3.D4.B5.A6.D7.D8.D9.D 10.B 11.B 12.A 13.D 14.D 15.B 16.B 17.A 18.A 19.B 20.A21.A 22.D 23.D 24.A 25.A二、填空题1.① fac(n-1)2.①a*a%8!=13.①a%b4.①i++5.①j!=0 或 j ② n%10+’0’6.① x>=’a’&&x<=’z’7.① x=n ②n%10 ③x三、读程序写结果题1. 9,1..2. f=....3. . . .5. 3.......6.-5,-12,-..7.10,20,3.....8. !EDCBA9. 432......10. 711........13.5,2...17..15,14... 18..6四、编程题1.#include <stdio.h>void delspace(char *s){ int i,j;for(i=0,j=0;s[i]!=’\0’;i++)if(s[i]!=’ ’){s[j]=s[i];j++}s[j]=’\0’;}void main(){ char *str;printf(“input string:”);gets(str);delspace(str);printf(“%s”,str);}3.#include <stdio.h>#include <math.h>void main(){int isprime(int x);int a;printf(“please input the number:\n”);scanf(“%d”,&a);if(isprime(a))printf(“the %d is a prime\n”,a);elseprintf(“the %d is not a prime\n”,a);}int isprime(int x){ int j;for(j=2;j<=sqrt(x);j++)if(x%j==0) return 0;return 1;}2.7.3 同步自测一、选择题1.C2.A3.C4.A5.D6.C7.C8.D9.B 10.B11.D 12.C 13.D 14.D 15.B二、填空题1.① k=p2.①a[i][j]<min3.① i+j==24.① continue5.①j=3 ② a[j-1][k-1]6.① x/10 或int(x/10)7.① !(s[i]>=’0’&&s[i]<=’9’)8.①a[n-i-1]=temp三、读程序写结果题1.max=10,row=2,colum=....2. 18,103.countrysid........4. xbcdBCD四、编程题1.参考程序及评分标准一:#include<stdio.h>#define N 5viod main(){ int a[N+1],x,i,k;for(i=0;i<N;i++)scanf("%d",&a[i]);scanf("%d",&x); //2分 for(i=0;a[i]<x&&i<N;i++); //3分 for(k=N;k>i;k--)a[k]=a[k-1];a[i]=x; //3分 for(i=0;i<=N;i++)printf("%5d",a[i]);putchar(‘\n’); //2分 }参考程序及评分标准二:#include<stdio.h>#define N 5viod main(){ void insert(int v[],int n,int x);int a[N+1],x,i;for(i=0;i<N;i++)scanf("%d",&a[i]);scanf("%d",&x); //2分 insert(a,N,x); //2分 for(i=0;i<=N;i++)printf("%5d",a[i]);putchar(‘\n’); //2分 }void insert(int v[],int n,int x){int i,k;for(i=0;v[i]<x&&i<n;i++); //2分 for(k=N;k>i;k--)v[k]=v[k-1];v[i]=x; //2分}3.#include <stdio.h>#include <string.h>void main(){void copystr(char *p1,char *p2,int m);scanf(“%s”,str1);scanf(“%d”,&m);if(strlen(str1)<m)printf(“input error”);else{ copystr(str1,str2,m);printf(“the result is :%s”,str2);}}void copystr(char *p1,char *p2,int m){ int n=0;while(n<m-1){n++; p1++;}while(*p1!=’\0’){*p2=*p1;p1++;p2++;}*p2=’\0’;}2.9.3 同步自测一、选择题1...2..3..4..5..6..7...8..9..10.11..12..13..14..15.。

《C语言程序设计实验指导与习题集》练习题的参考答案(中国铁道出版社)

《C语言程序设计实验指导与习题集》练习题的参考答案(中国铁道出版社)










答案
B
A
C
C
D
D
B
A
A
C
编号




答案
A
C
D
B
(一)填空题
编号
答案
编号
答案





b=i+1
i<10j%3!=0
52
right
17





X
S=25489213**六、数组(一)选择题
编号










答案
C
D
C
D
D
A
C
A
A
B
编号




答案
D
B
A
D
(一)填空题
编号
答案
C
D
D
A
7
8
9
10
11
12
C
A
C
D
C
B
13
14
15
16
17
18
A
C
D
C
A
B
2.填空
(1)22(2)struct st(3)2,3(4)zhao
(5)13(6)380039(7)struct list q
9
十一文件
1.选择
1
2
3
4
5
6

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。

b) 一个C程序中至少应包括一个 main函数。

c) 在C语言中,输出操作是有库函数 printf( )函数完成。

二、单选题1、A2、C3、B解析:第1题答案:A 。

因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:C 。

因为 main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main 函数,且main函数的位置不限。

三、编程题1、编写一个输出“Welcome to C!”信息的小程序。

解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。

*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。

*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。

C语言程序设计实验与习题答案

C语言程序设计实验与习题答案

2.程序填空(1) 以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0 ;for(i=1; 50 ;i++)if( i%7==0 ) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z( 值-1) 键为止。

这些字符被原样输出,但若有连续一个以上的空格为时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front= ’’;while ( (cx=getchar())!= ’\n ’){if (cx!= ’’)putchar(cx);if (cx= = ’’)if (front!= ’’)putchar(cx);front=cx;}}3.程序改错(1) 下列程序的功能是求1+3+5+, 99 的和。

#include <stdio.h>void main( ){ int s, i; ★//int s=0,i;i=1;while(i<=99) s=s+i; ★//{s=s+i;i++;}printf("1+3+5+ , 99 的和是:%d\n",s);}(2) 下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x, y=0; ★//y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0 ) y=0; ★//x%i==0printf("%d\n",y); }4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;...float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame ’s numbers:"); scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}n Total wheattatol ’s timeter\=n%",weheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1) 以下程序的功能是计算1~50之间能被7整除的整数之和。

C语言程序设计实训教程习题和实验解答

C语言程序设计实训教程习题和实验解答
scanf(“%d,%d,%d”,&a,&b,&c);
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;

c语言程序设计实验.设计.习题.答案.顺序结构与逻辑运算

c语言程序设计实验.设计.习题.答案.顺序结构与逻辑运算
(5)可以进行简单的程序的编写
}
实验四部分
4-1-a该程序的功能是:输入两个数:a、b,判断a*a+b*b的值,若a*a+b*b的值等于3或1,则y=a+b;若a*a+b*b的值等于0,则y=b-a;若a*a+b*b的值等于其他值,则输出“eerror”;最后输出y的值。
运行结果画面:
#include<stdio.h>
main()
{
int a,M;
scanf("%d",&a);
M=a>0?a:-a;
printf("abs(a)=%d\n",M);
}
4-4运行结果画面:
#include<stdio.h>
main()
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");
scanf("%d",&x);
h=x/60;
m=x%60;
printf("%d小时%d分钟",h,m);
}
3-7我使用的算法:进行千分位转换,四舍五入。
运行结果画面:
#include<stdio.h>
main()
{
double x;
scanf("%lf",&x);
printf("%7.2f\n",x);
怎样终止调试状态(程序复位)?在菜单栏中选择“调试”,然后选择“StopDebugging”。
单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):第一种选择“Step Into”,跟踪到自定义函数内部;第2种选择“Step over”,不跟踪到自定义函数内部

《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案实验三3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar('\n');printf("%c %c\n",c1,c2);}3.5把790分钟换成用小时和分钟表示,然后输出。

void main(){int s=790;printf("%d小时",s/60);printf("%d分钟",s%60);}3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b 的值给c,把c的值给a.main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("%d,%d,%d",a,b,c);3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。

#includevoid main(){float x,s,a;int z;scanf("%f",&x);a=100*x+0.5;z=(int)(a);s=z/100.0;printf("%.2f\n",s); }main(){int a,b,t;double c;scanf("%lf",&c);b=100*c;t=1000*c;a=t%10;if (a>=5) b=b+1;else b=b+0;c=1.0*b/100;printf("%7.2lf/n",c); return 0;}void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ; if(x==0) y = x-1;if(x<10&&x>0) y = x+1; printf("%d",y);}实验四4.2不嵌套if语句void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ;if(x==0) y = x-1;if(x<10&&x>0) y = x+1;printf("%d",y);}法二:嵌套if语句void main(){int x,y;scanf("%d",&x);if((x>-5)&&(x<0)) y=x;else if(x==0) y=x-1;else if(x<10&&x>0) y=x+1;printf("%d",y);}4.3如下程序运用条件运算符求变量的绝对值?void main(){int a,M;scanf("%d",&a);M=a>0?a:-a;printf("abs(a)=%d",M);4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。

C语言学习知识习题集及其规范标准答案

C语言学习知识习题集及其规范标准答案

习题一【习题1-1】C语言源程序最多可能由________________部分组成?A) 预处理部分B)变量说明部分C) 函数原型声明部分D)函数定义部分【习题1-2】一个完整的C语言源程序最少必须有_______。

A)若干个主函数B)若干个函数C)且只能有一个主函数D)一个函数【习题1-3】C语言以函数为源程序的基本单位最主要有利于_______。

A)程序设计结构化B)程序设计模块化C)程序设计简单化D提高程序设计有效性【习题1-4】要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过_______________________________________。

A)编辑和链接B)编译和链接C)修改和运行D运行并输入数据【习题1-5】选择一个C语言集成开发环境并启动它,然后分别输入【例1-1】、【例1-2】、【例1-3】的源程序,依次编译、链接、运行,看看能否达到预想的结果?从中了解程序的开发过程。

习题二一、单项选择题【习题2-1】已知’A’的ASCII代码是65,以下程序的输出结果是( )#include "stdio.h"main( ){ int c1=65,c2=66;printf("%c, %c",c1,c2);}A. 因输出格式不合法,输出错误信息B. 65,66C. A,BD. 65,66【习题2-2】若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )A. a=a+b,b=a-b,a=a-b;B. t=a,a=b,b=t;C. a=t,t=b,b=a;D. t=b;b=a;a=t;【习题2-3】若k是整型变量,则以下程序段的输出是( )k=-8567;printf (“|%d|\n”,k);A. 输出格式不正确B. 输出为|008567|C. 输出为|8567|D. 输出为|-8567|【习题2-4】下列可作变量的标识符是( )A. 3rtB. je_cC.$89D. a+6【习题2-5】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为字母或下划线B.必须为下划线C.必须为字母D.可以是字母、数字和下划线中的任一种字符【习题2-6】C语言并不是非常严谨的算法语言,在以下关于C语言的不严谨的叙述中,错误的说法是( )A. 大写字母和小写字符的意义相同B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义二、简答题【习题2-7】C语言数据类型有哪几类?基本数据类型包括哪几类?【习题2-8】C语言中十进制、八进制和十六进制整常量是如何表示的?【习题2-9】C语言为什么规定对所用到的变量“先定义,后使用”,这样做有什么好处?【习题2-10】C语言中的语句有几类?控制语句有哪些?【习题2-11】怎样区分表达式和表达式语句?为什么有人称C为表达式语言?【习题2-12】字符常量与字符串常量有什么区别?【习题2-13】下面各数用八进制和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003三、阅读程序写结果或填空【习题2-14】写出以下程序的运行结果:#include<stdio.h>main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c\n",c4,c5);}【习题2-15】写出以下程序的运行结果:#include<stdio.h>main(){int n=177;printf("%o\n",n);}【习题2-16】写出以下程序的运行结果:#include<stdio.h>main(){int a,n=0;n+=(a=10);printf("%d\n",a);}【习题2-17】写出以下程序的运行结果:#include <stdio.h>main(){int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567;unsigned u=65535;printf("%d%d\n",a,b);printf("%3d%3d\n",a,b);printf("%f,%f\n",x,y);printf("%-10f,%-10f\n",x,y);printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%x\n",n,n,n);printf("%u,%o,%x,%d\n",u,u,u,u);printf("%s,%5.3s\n","COMPUTER","COMPUTER"); }【习题2-18】写出以下程序的运行结果:#include<stdio.h>main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}【习题2-19】下面运算表达式的值是:x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7【习题2-20】下面运算表达式的值是:(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5【习题2-21】写出下面赋值表达式运算后a的值,设原来a=12;(1)a+=a (2) a-=2(3)a*=2+3 (4) a/=a+a(5)a%=(n%=2),n 的值等于5 (6)a+=a-=a*=a【习题2-22】数学表达式:-5<x<5用C语句如何表达?x>5或x<-5又是如何表达?请写出相应的C语句。

C语言程序设计实验与习题答案

C语言程序设计实验与习题答案

2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。

这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。

请填空。

#include <>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。

#include <>void main( ){ int s,i; ★10.6f10.6f10.6f10.6f代表个数*/for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)if(i*i*i+j*j*j+k*k*k==1099) /*在所有组合中找出满足指定条件的*/{printf("%4d",100*i+10*j+k);n++;if(n%5==0) printf("\n"); /*表示每行输出5个数*/}}#include<>#include<>main(){int i,j,k;for(i=1;i<=4;i++) /*上三角形有4行,每循环1次输出1行*/ {for(k=1;k<8-((2*i-1)/2);k++) /*该循环输出每行的空格.8用于调节偏离位置,可换成别的数(>=8)*/printf(" ");for(j=1;j<=2*i-1;j++) /*该循环输出每行的’*’字符*/printf("*");putchar(’\n’); /*换行*/}for(i=3;i>=1;i--) /*下面为倒三角形,有3行*/{for(k=1;k<8-((2*i-1)/2);k++)printf(" ");for(j=1;j<=2*i-1;j++)printf("*");putchar(’\n’);}}main( ){ int n=1,score,t;scanf("%d",&score);while (score>=0&&n<=5){ n++;t=0;while(score!=0){t=t+(score%10)*(score%10);score=score/10;}if(t==108)printf("%d",score);scanf("%d",&score);}}#include ""main(){float x0,x1,x2,fx0,fx1,fx2; /*x1,x2分别表示每次区间的左右端点,x0代表区间的中间点,fx0,fx1,fx2代表相应点的函数值*/do{printf("please input x1&x2:");scanf("%f,%f",&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0); /*该循环指定有根的区间*/ do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fx1)<0) /*丢掉右区间*/{x2=x0;fx2=fx0;}else /*丢掉左区间*/{x1=x0;fx1=fx0;}}while(fabs(fx0)>1e-5); /*该循环实现二分法求根 */printf("root x=%f",x0);}2)程序填空(1)#include <>void main(){int m,n,num1,num2,temp;printf("Input two positive integer:\n");scanf("%d,%d",&num1,__&num2_______);if(num1<num2){temp=num1; num1=num2; num2=__temp_______;}m=num1;n=num2;while(n!=0){ temp=__m%n__________;m=n;n=temp;}printf("The grestest common divisor is %d\n",m);printf("The lowest common multiple is %d\n",num1*num2/__m____);}(2)下面程序是计算表达式1+(1+2)+(1+2+3)+…+(1+2+3+…+10)和。

C语言程序设计课后习题参考答案

C语言程序设计课后习题参考答案
【习题2-22】:x>-5&&x<5
x>5||x<-5
四、编写程序题
【习题2-23】
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;
表达式不是独立存在的,它存在于其他表达式、语句、函数参数里,表达式后面加上一个分号,就变成表达式语句,如
i=i+1(是表达式,不是语句)
i=i+l;(是语句)
表达式能构成语句是C语言的一个特色。其实“函数调用语句”也是属于表达式语句,因为函数调用也属于表达式的一种,只是为了便于理解和使用,我们把“函数调用语句”和“表达式语句”分开来说明。由于C程序中大多数语句是表达式语句(包括函数调用语句),所以有人把C语言称作“表达式语言”。
三、
【习题3-12】~【习题3-19】:如图3-12至图3-19所示。
3-123-133-14
其中的符号“→”表示“倒给”,例如“A→C”“将A瓶中的液体倒给C瓶”。
3-153-163-17
3-183-19
四、编写程序题
【习题3-20】:
#include <stdio.h>
main()
{int x,y;
bon4=bon2+200000*0.05; /*利润为40万元时的奖金*/
bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/
bon10=bon6+400000*0.015; /*利润为100万元时的奖金*/

C语言程序设计习题集及参考答案

C语言程序设计习题集及参考答案

C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。

在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。

本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。

二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。

(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。

3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。

(2) 编写一个程序,判断一个整数是否为素数。

如果是素数,输出"Yes",否则输出"No"。

(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。

三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。

(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。

选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。

选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。

因此,答案为B。

(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。

C语言程序设计学习指导与实践教程习题和实验解答(第2章)2

C语言程序设计学习指导与实践教程习题和实验解答(第2章)2

C语言程序设计学习指导与实践教程——第2章习题和实验解答2.1 C语言概述1.【习题解答】1结构化程序有三大基本结构:顺序、分支和循环.2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。

或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

有穷性:一个算法应包含有限的操作步骤而不能是无限的。

确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。

有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。

对于程序设计人员,必须会设计算法,并根据算法写出程序。

可以用自然语言、流程图、伪代码和计算机语言表示算法。

3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。

ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。

4.用传统流程图表达如下:5. 计算机硬件系统的组成:计算机硬件系统主要由运算器、控制器、存储器、输入设备和输出设备构成,运算器和控制器合称为中央处理器(CPU),输入设备和输出设备统称为外部设备。

6.计算机网络常用的传输介质:分为有线介质和无线介质;有线介质包括光纤、同轴电缆和双绞线;无线介质包括红外信号、微波等。

2.2 数据类型与表达式1.【习题解答】一、选择题1.D2.B3.A4.B5.A6.B7.D8.D9.C二、填空题1.整型、实型、字符型、枚举类型2.3.5000003.逗号运算符4.三,自右向左5.1,06.32767三、编程题1.已知球的半径为1.5cm,计算球的体积。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

c语言程序设计实验题答案

c语言程序设计实验题答案

c语言程序设计实验题答案【篇一:c语言程序设计及实验指导练习及习题参考答案(8--10)】8练习参考答案1、练习8-1. 如果有定义:int m, n = 5, *p = m; 与m = n 等价的语句是 b 。

a.m = *p; b. *p = *n; c. m = n; d. m = **p;8-2. 设计一个程序计算输入的两个数的和与差,要求自定义一个函数sum_diff(float op1, float op2, float *psum, float *pdiff),其中op1 和op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差。

解答:#include stdio.hint main (void){float op1, op2, sum, diff;void sum_diff(float op1, float op2, float *psum, float *pdiff);printf(“input op1 and op2: “);scanf(“%f%f”, op1, op2);sum_diff(op1, op2, sum, diff);printf(“%f+%f=%f; %f-%f=%f \n”,op1,op2,sum,op1,op2,diff);return 0;}void sum_diff(float op1, float op2, float *psum, float *pdiff){*psum = op1 + op2;*pdiff = op1 – op2;}8-3. 两个相同类型的指针变量能不能相加?为什么?解答:不能。

因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在c 语言中指针变量相加是非法的。

8-4. 根据表8.2 所示,这组数据的冒泡排序其实循环到第6 遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1 次循环。

c程序设计教程与实验课后实验答案

c程序设计教程与实验课后实验答案

c程序设计教程与实验课后实验答案【篇一:c程序设计教程与实验__吉顺如__实验一到七】> 一、实验目的1.掌握在visual c++6.0环境下c程序的建立、编辑、编译和执行过程。

2.掌握c程序的最基本框架结构,完成简单程序的编制与运行和调试。

3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

二、实验内容1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。

输入该c程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。

#include stdio.h main() {int a,b,sum; /*定义整型变量a、b、sum */ printf(please input a,b \n); /*输出提示信息*/(1计算x*y的值并将结果输出。

试纠正程序中存在的错误,以实现其功能。

程序以文件名sy1_2.c保存。

#include stdio.hmainmain(){ int x=2;y=3;a int x=2,y=3,a; a=x*ya=x*y;print (a=%d,a);printf (a=%d,a); printf(\n);}(2)下程序的功能为:求两数中的较大数据并输出。

纠正程序中存在的错误,以实现其功能。

程序以文件名sy1_3.c保存。

#include stdio.h1viod main()voidmain() {int a ,b , max;scanf(“%d,%d”,a,b);scanf(“%d,%d”,a,b); max=a; max=a;if (maxb) max=b; if (maxb) max=b; printf(“max=%d”,ma x);printf(“max=%d”,max); }3.程序填空题(1)从键盘输入两个整数,输出这两个整数的和。

根据注释信息填写完整程序,以实现其功能。

以文件名sy1_4.c保存。

#includestdio.h main() {/* 定义整型变量x,y,total*/ printf(please input x,y !);/*输出提示信息 *//*由键盘输入两个数分别赋予x和y*/ total=x+y;/*赋值语句 */printf(%d + %d=%d\n,x,y,total);/* 输出两个整数的和 */ }(2)从键盘输入两个整数,输出这两个整数的差。

C语言程序设计习题集及标准答案.doc

C语言程序设计习题集及标准答案.doc

基础知识一单项选择题(每题 2 分,共 44 分)1 以下叙述正确的是___。

A C 程序基本组成单位是语句B C程序每一行只能写一个语句C 简单 C语句必须以分号作为结束符D注释语句可以嵌套2一个 C语言程序是从___开始执行的。

A 程序中第一个函数B 名为 main 的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的 C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C 语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设 a 和 b 均为 int 型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf( "%d\n",a+=(b%=2));A 20B 21C 0D 238 已知 int i; ,则执行语句i=2.6; 后, i 的值为___。

A 2B 3C 2.6D 不确定9以下合法的字符常量为___。

A 'ab'B '\482 'C ' 'D '\xaf '10 若 y 为 int 型变量,则执行以下语句后,y 的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设 int数据占用两个字节,float数据占用四个字节,double 数据占用 8 个字节,且已知float a=2;int b=3; 则执行下列语句输出为___。

printf( "%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设 int 型占 2 个字节,且 int i=-2;, 则语句 printf( "%u",i); 的输出结果为___。

C语言程序设计》课后习题详细答案

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d

C语言-习题集参考答案全部

C语言-习题集参考答案全部

目录- 1 -目录第一章C语言基础知识参考答案 ................................................................................ - 2 - 第二章顺序结构参考答案.......................................................................................... - 5 - 第三章选择结构参考答案.............................................................................................. - 7 - 第四章循环结构参考答案............................................................................................ - 11 - 第五章函数参考答案................................................................................................ - 15 - 第六章指针参考答案.................................................................................................... - 18 - 第七章一维数组参考答案............................................................................................ - 21 - 第八章二维数组参考答案.......................................................................................... - 28 - 第九章字符串参考答案.......................................................................................... - 31 - 第十章对C语言的深入讨论参考答案 ....................................................................... - 33 - 第十一章结构体与共用体参考答案............................................................................ - 34 - 第十二章文件参考答案........................................................................................ - 35 -全国计算机等级考试二级教程C 语言习题集参考答案- 2 - 第一章C语言基础知识参考答案一,选择题1 C2 D3 A4 C5 A6 D7 C 分析:C答案以数字开头了8 D 分析:int 是关键字9 C 10 D 11 B12 D 分析:Visual C++6.0中int类型的变量占的字节数为4。

谭浩强C语言学习知识程序设计课后习题集规范标准答案所有的程序都有

谭浩强C语言学习知识程序设计课后习题集规范标准答案所有的程序都有

,.第三章3.4main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c);printf("x=%8.6f,y=%8.6f, z=%9.6f\n",x,y,z);printf("x+y=%5.2f y+z= %5.2f z+x=%5.2f\n",x+y, y+z,z+x);printf("u=%6ld n=%9ld \n",u,n);printf("c1='%c'or %d(AS CII)\n",c1,c1);printf("c2='%c'or %d(AS CII)\n",c2,c2);}3.5575 767.856400,-789.123962 67.856400,-789.123962 67.86-789.12,67.856400,-789.1 23962,67.856400,-789.12 39626.785640e+001,-7.89e+0 02A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM3.6a=3 b=7/,.x=8.5 y=71.82/c1=A c2=a/3.710 20Aa1.5 -3.75+1.4,67.8/(空3)10(空3)20Aa1.5(空1)-3.75(空1)(随意输入一个数),67.8回车3.8main(){float pi,h,r,l,s,sq,sv,sz;pi=3.1415926;printf("input r,h\n");scanf("%f,%f",&r,&h); l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;sv=4.0/3.0*pi*r*r*r;sz=pi*r*r*h;printf("l=%6.2f\n",l);printf("s=%6.2f\n",s); printf("sq=%6.2f\n",sq); printf("vq=%6.2f\n",sv); printf("vz=%6.2f\n",sz); }3.9main(){float c,f;scanf("%f",&f);c=(5.0/9.0)*(f-32);printf("c=%5.2f\n",c);}3.10#include"stdio.h"main(){char c1,c2;scanf("%c,%c",&c1,&c2); putchar(c1);putchar(c2);printf("\n");printf("%c%c\n",c1,c2); },.第四章4.3(1)0 (2)1 (3)1 (4)0 (5) 14.4main(){int a,b,c;scanf("%d,%d,%d",&a,& b,&c);if(a<b)if(b<c)printf("max=%d\n",c); elseprintf("max=%d\n",b); else if(a<c)printf("max=%d\n",c); elseprintf("max=%d\n",a); }main(){int a,b,c,temp,max;scanf("%d,%d,%d",&a,&b,&c);temp=(a>b)?a:b;max=(c>temp)?c:temp; printf("max=%d",max); }4.5main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x<10)y=2*x-1; else y=3*x-11;printf("y=%d",y);}4.6main(){int score,temp,logic; char grade;logic=1;while(logic){scanf("%d",&score);,.if(score>=0&&score< =100)logic=0;}if(score==100)temp=9;elsetemp=(score-score%10 )/10;switch(temp){case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0:grade='E';}printf"score=%d,grade=%c",score,grade);}4.7main(){long int num;intindiv,ten,hundred,thousa nd,ten_thousand,place; scanf("%ld",&num);if(num>9999) place=5; else if(num>999)place=4;else if(num>99) place=3; else if(num>9) place=2; else place=1;printf("place=%d\n",plac e);ten_thousand=num/100 00;thousand=(num-ten_tho usand*10000)/1000;hundred=(num-ten_thou,.sand*10000-thousand*10 00)/100;ten=(num-ten_thousand *10000-thousand*1000-h undred*100)/10;indiv=num-ten_thousan d*10000-thousand*1000-hundred*100-ten*10;switch(place){case5:printf("%d,%d,%d,%d,% d\n",ten_thousand,thous and,hundred,ten,indiv);printf("%d,%d,%d, %d,%d\n",indiv,ten,hundr ed,thousand,ten_thousan d);break;case4:printf("%d,%d,%d,%d\n ",thousand,hundred,ten,i ndiv);printf("%d,%d,%d, %d\n",indiv,ten,hundred,t housand);break;case3:printf("%d,%d,%d\n",hu ndred,ten,indiv);printf("%d,%d,%d \n",indiv,ten,hundred);break;case2:printf("%d,%d\n",ten,in div);printf("%d,%d\n",i ndiv,ten);break;case1:printf("%d\n",indiv);printf("%d\n",indi v);}},.4.8main(){long i;floatbonus,bon1,bon2,bon4,b on6,bon10;bon1=100000*0.1;bon2=bon1+100000*0.0 75;bon4=bon2+200000*0.0 5;bon6=bon4+200000*0.0 3;bon10=bon6+400000*0. 015;scanf("%ld",&i);if(i<=1e5)bonus=i*0.1; elseif(i<=2e5)bonus=bon1+(i -100000)*0.075;elseif(i<=4e5)bonus=bon2+(i -200000)*0.05;elseif(i<=6e5)bonus=bon4+(i -400000)*0.03;elseif(i<=1e6)bonus=bon6+(i -600000)*0.015;elsebonus=bon10+(i-100000 0)*0.01;printf("bonus=%10.2f",b onus);}main(){long i;floatbonus,bon1,bon2,bon4,b on6,bon10;int branch;bon1=100000*0.1;bon2=bon1+100000*0.0 75;,.bon4=bon2+200000*0.0 5;bon6=bon4+200000*0.0 3;bon10=bon6+400000*0. 015;scanf("%ld",&i);branch=i/100000;if(branch>10)branch=10; switch(branch){case0:bonus=i*0.1;break; case1:bonus=bon1+(i-100000 )*0.075;break;case 2:case3:bonus=bon2+(i-200000 )*0.05;break;case 4:case5:bonus=bon4+(i-400000)*0.03;break;case 6:case 7case 8:case9:bonus=bon6+(i-600000 )*0.015;break;case10:bonus=bon10+(i-1000 000)*0.01;}printf("bonus=%10.2f",b onus);}4.9main(){int t,a,b,c,d;scanf("%d,%d,%d,%d",& a,&b,&c,&d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;},.if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;}printf("%d %d %d %d \n",a,b,c,d);}4.10main(){int h=10;floatx,y,x0=2,y0=2,d1,d2,d3,d 4;scanf("%f,%f",&x,&y); d1=(x-x0)*(x-x0)+(y-y0)* (y-y0);d2=(x-x0)*(x-x0)+(y+y0) *(y+y0);d3=(x+x0)*(x+x0)+(y-y0) *(y-y0);d4=(x+x0)*(x+x0)+(y+y0 )*(y+y0); if(d1>1&&d2>1&&d3> 1&&d4>1)h=0;printf("h=%d",h);}第五章循环控制5.1main(){int a,b,num1,num2,temp; scanf("%d,%d",&num1,& num2);if(num1<num2){temp=n um1;num1=num2;num2 =temp;}a=num1;b=num2;while(b!=0){temp=a%b;a=b;b=temp;}printf("%d\n",a);printf("%d\n",num1*num 2/a);},.5.2#include"stdio.h"main(){char c;intletters=0,space=0,digit= 0,other=0;while((c=getchar())!='\n') {if(c>='a'&&c<='z'||c> ='A'&&c<='Z') letters++;else if(c==' ')space++;elseif(c>='0'&&c<='9')digit+ +;else other++;}printf("letters=%d\nspac e=%d\ndigit=%d\nother =%d\n",letters,space,digi t,other);} 5.3main(){inta,n,count=1,sn=0,tn=0; scanf("%d,%d",&a,&n); while(count<=n){tn+=a;sn+=tn;a*=10;++count;}printf("a+aa+aaa+...=%d \n",sn);}5.4main(){float n,s=0,t=1;for(n=1;n<=20;n++) {t*=n;s+=t;},.printf("s=%e\n",s);}5.5main(){intN1=100,N2=50,N3=10; float k;float s1=0,s2=0,s3=0; for(k=1;k<=N1;k++)s1+ =k;for(k=1;k<=N2;k++)s2+ =k*k;for(k=1;k<=N3;k++)s3+ =1/k;printf("s=%8.2f\n",s1+s2 +s3);}5.6main(){int i,j,k,n;for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(i*100+j*10+k==i*i*i +j*j*j+k*k*k)printf("n=%d\n",n);}}5.7#define M 1000main(){intk0,k1,k2,k3,k4,k5,k6,k7,k8 ,k9;int i,j,n,s;for(j=2;j<=M;j++){n=0;s=j;for(i=1;i<j;i++){if((j%i)==0){n++;s=s-i;,.switch(n){case1:k0=i;break;case 2:k1=i;break;case 3:k2=i;break;case 4:k3=i;break;case 5:k4=i;break;case 6:k5=i;break;case 7:k6=i;break;case 8:k7=i;break;case 9:k8=i;break;case10:k9=i;break;}}}if(s==0){printf("j=%d\n",j);if(n>1)printf("%d,% d",k0,k1);if(n>2)printf(",%d", k2);if(n>3)printf(",%d", k3);if(n>4)printf(",%d", k4);if(n>5)printf(",%d", k5);if(n>6)printf(",%d", k6);if(n>7)printf(",%d", k7);if(n>8)printf(",%d", k8);if(n>9)printf(",%d\n ",k9);}}}main(){static int k[10];int i,j,n,s;for(j=2;j<=1000;j++) {n=-1;,.s=j;for(i=1;i<j;i++){if((j%i)==0){n++;s=s-i;k[n]=i;}}if(s==0){printf("j=%d\n",j);for(i=0;i<n;i++)printf("%d,",k[i]);printf("%d\n",k[n]);}}}5.8main(){int n,t,number=20;float a=2;b=1;s=0;for(n=1;n<=number;n+ +){s=s+a/b;t=a,a=a+b,b=t;}printf("s=%9.6f\n",s); }5.9main(){float sn=100.0,hn=sn/2; int n;for(n=2;n<=10;n++) {sn=sn+2*hn;hn=hn/2;}printf("sn=%f\n",sn);printf("hn=%f\n",hn); }5.10main(){int day,x1,x2;day=9;x2=1;,.while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("x1=%d\n",x1);}5.11#include"math.h"main(){float a,xn0,xn1;scanf("%f",&a);xn0=a/2;xn1=(xn0+a/xn0)/2;do{xn0=xn1;xn1=(xn0+a/xn0)/2; }while(fabs(xn0-xn1)>=1e -5);printf("a=%5.2f\n,xn1=%8.2f\n",a,xn1);}5.12#include"math.h"main(){float x,x0,f,f1;x=1.5;do{x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;}while(fabs(x-x0)>=1e-5); printf("x=%6.2f\n",x);}5.13#include"math.h"main(){float x0,x1,x2,fx0,fx1,fx2;,.do{scanf("%f,%f",&x1,&x2 );fx1=x1*((2*x1-4)*x1+3 )-6;fx2=x2*((2*x2-4)*x2+3 )-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3 )-6;if((fx0*fx1)<0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}} while(fabs(fx0)>=1e-5); printf("x0=%6.2f\n",x0); }5.14main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}},.5.15main(){char i,j,k;for(i='x';i<='z';i++)for(j='x';j<='z';j++){if(i!=j)for(k='x';k<='z';k++){if(i!=k&&j!=k){if(i!='x'&&k!='x'& &k!='z')printf("\na--%c\ tb--%c\tc--%c\n",i,j,k);}}}}第六章数组6.1#include <math.h>#define N 101main(){ int i,j,line,a[N];for (i=2;i<N;i++) a[i]=i; for (i=2;i<sqrt(N);i++)for (j=i+1;j<N;j++){if(a[i]!=0 && a[j]!=0)if (a[j]%a[i]==0)a[j]=0; } printf("\n");for (i=2,line=0;i<N;i++) { if(a[i]!=0){ printf("%5d",a[i]);line++; }if(line==10){ printf("\n");line=0; }}}6.2#define N 10main(){int i,j,min,temp,a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);,.for(i=0;i<N-1;i++) {min=i;for(j=i+1;j<N;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}for(i=0;i<N;i++)printf("%5d",a[i]);}6.3main(){float a[3][3],sum;int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%f",&sum);a[i][j]=sum;}for(i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%f",sum);}6.4main(){inta[11]={1,4,6,9,13,16,19,28 ,40,100};int temp1,temp2,number, end,i,j;scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;,.temp1=temp2;}break;}}}for(i=0;i<11;i++) printf("%6d",a[i]);}6.5#define N 5main(){inta[N]={8,6,5,4,1},i,temp; for(i=0;i<N/2;i++) {temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}for(i=0;i<N;i++) printf("%4d",a[i]);} 6.6#define N 11main(){int i,j,a[N][N];for(i=1;i<N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<N;i++)for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1 ][j];for(i=1;i<N;i++){for(j=1;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}6.7main(){int a[16][16],i,j,k,p,m,n; p=1;,.while(p==1){scanf("%d",&n);if((n!=0)&&(n<=15)& &(n%2!=0))p=0;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;j=n/2+1;a[1][j]=1;for(k=2;k<=n*n;k++) {i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}else{if(i<1)i=n;if(j>n)j=1;}if(a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}for(i=1;i<=n;i++) {for(j=1;j<=n;j++)printf("%3d",a[i][j]);printf("\n");}}6.8#define N 10#define M 10main(){inti,j,k,m,n,flag1,flag2,a[N][ M],max,maxi,maxj;scanf("%d,%d",&n,&m); for(i=0;i<n;i++)for(j=0;j<m;j++),.scanf("%d",&a[i][j]); flag2=0;for(i=0;i<n;i++) {max=a[i][0];for(j=0;j<m;j++)if(max<a[i][j]){max=a[i][j];maxj=j;}for(k=0,flag1=1;k<n& &flag1;k++)if(max>a[k][maxj])fla g1=0;if(flag1){ printf("\na[%d][%d] =%d\n",i,maxj,max);flag2=1;}}if(!flag2) printf("NOT"); } 6.9#include<stdio.h>#define N 15main(){inti,j,number,top,bott,min,lo ca,a[N],flag;char c;for(i=0;i<=N;i++) scanf("%d",&a[i]);flag=1;while(flag){scanf("%d",&number);loca=0;top=0;bott=N-1;if((number<a[0])||(nu mber>a[N-1]))loca=-1;while((loca==0)&&(to p<=bott)){min=(bott+top)/2;,.if(number==a[min]){loca=min;printf("number=% d,loca=%d\n",number,loc a+1);}elseif(number<a[min])bott=min-1;elsetop=min+1;}if(loca==0||loca==-1)printf("%d not in table\n",number);printf("continue Y/N or y/n\n");c=getchar();if(c=='N'||c=='n')flag =0;}} 6.10main(){inti,j,uppn,lown,dign,span,ot hn;char text[3][80];uppn=lown=dign=span =othn=0;for(i=0;i<3;i++){gets(text[i]);for(j=0;j<80&&text[i][j ]!='\0';j++){if(text[i][j]>='A'&&t ext[i][j]<='Z')uppn++;elseif(text[i][j]>='a'&&text[i][j ]<='z')lown++;elseif(text[i][j]>='0'&&text[i][j ]<='9'),.dign++;else if(text[i][j]==' ')span++;elseothn++;}}for(i=0;i<3;i++)printf("%s\n",text[i]); printf("uppn=%d\n",upp n);printf("lown=%d\n",lown );printf("dign=%d\n",dign );printf("span=%d\n",span );printf("othn=%d\n",othn );}6.11main() {static chara[5]={'*','*','*','*','*'};int i,j,k;char space=' ';for(i=0;i<=5;i++) {printf("\n");for(j=1;j<=3*i;j++)printf("%1c",space);for(k=0;k<=5;k++)printf("%3c",a[k]);}}6.12#include<stdio.h> main(){int i,n;char ch[80],tran[80];gets(ch);i=0;while(ch[i]!='\0'){if((ch[i]>='A')&&(ch[i] <='Z')),.tran[i]=26+64-ch[i]+ 1+64;elseif((ch[i]>='a')&&(ch[i]<=' z'))tran[i]=26+96-ch[i]+ 1+96;elsetran[i]=ch[i];i++;}n=i;for(i=0;i<n;i++) putchar(tran[i]);}6.13main(){char s1[80],s2[40];int i=0,j=0;scanf("%s",s1);scanf("%s",s2);while(s1[i]!='\0')i++; while(s2[j]!='\0')s1[i++]= s2[j++];s1[i]='\0';printf("s=%s\n",s1);}6.14#include<stdio.h> main(){int i,resu;char s1[100],s2[100];gets(s1);gets(s2);i=0;while((s1[i]==s2[i])&&(s 1[i]!='\0'))i++;if(s1[i]=='\0'&&s2[i]=='\ 0')resu=0;elseresu=s1[i]-s2[i];printf("s1=%s,s2=%s,res u=%d\n",s1,s2,resu);},.6.15#include"stdio.h" main(){char from[80],to[80];; int i;scanf("%s",from);for(i=0;i<=strlen(from);i ++)to[i]=from[i];printf("%s\n",to);}第七章7.1hcf(u,v)int u,v;{int a,b,t,r;if(u>v){t=u;u=v;v=t;} a=u;b=v;while((r=b%a)!=0){b=a;a=r;}return(a);} lcd(u,v,h)int u,v,h;{return(u*v/h);}main(){int u,v,h,l;scanf("%d,%d",&u,&v); h=hcf(u,v);printf("H.C.F=%d\n",h); l=lcd(u,v,h);printf("L.C.D=%d\n",l); }7.2#include"math.h"float x1,x2,disc,p,q; greater_than_zero(a,b) float a,b;{x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); }equal_to_zero(a,b)flaot a,b;{x1=x2=-b/(2*a);},.smaller_than_zero(a,b) float a,b;{p=-b/(2*a);q=sqrt(-disc)/(2*a);}main(){float a,b,c;scanf("%f,%f,%f",&a,&b, &c);disc=b*b-4*a*c;if(fabs(disc)<=1e-5) {equal_to_zero(a,b);printf("x1=%5.2f\tx2= %5.2f\n",x1,x2);}else if(disc>0) {greater_than_zero(a,b);printf("x1=%5.2f\tx2= %5.2f\n",x1,x2);}else{smaller_than_zero(a,b);printf("x1=%5.2f+%5.2 fi\tx2=%5.2f-%5.2fi\n",p, q,p,q);}}7.3main(){int number;scanf("%d",&number); if(prime(number)) printf("yes");elseprintf("no");}int prime(number)int number;{int flag=1,n;for(n=2;n<number/2&& flag==1;n++)if(number%n==0)flag=0;,.return(flag);}7.4#define N 3int array[N][N];convert(array)int array[3][3];{int i,j,t;for(i=0;i<N;i++)for(j=i+1;j<N;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}main(){int i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&array[i][j]); convert(array);for(i=0;i<N;i++){printf("\n");for(j=0;j<N;j++)printf("%5d",array[i][j ]);}}7.5main(){char str[100];scanf("%s",str);inverse(str);printf("%s\n",str);}inverse(str)char str[];{char t;int i,j;for(i=0,j=strlen(str);i<strl en(str)/2;i++,j--){t=str[i];str[i]=str[j-1];str[j-1]=t;,.}}7.6char concate(str1,str2,str) char str1[],str2[],str[]; {int i,j;for(i=0;str1[i]!='\0';i++) str[i]=str1[i];for(j=0;str2[j]!='\0';j++) str[i+j]=str2[j];str[i+j]='\0';}main(){chars1[100],s2[100],s[100];scanf("%s",s1);scanf("%s",s2);concate(s1,s2,s);printf("\ns=%s",s);} 7.7main(){char str[80],c[80];void cpy();gets(str);cpy(str,c);printf("\n%s\n",c);}void cpy(s,c)char s[],c[];{int i,j;for(i=0,j=0;s[i]!='\0';i++) if(s[i]=='a'||s[i]=='A'||s[i ]=='e'||s[i]=='E'||s[i]=='i'|| s[i]=='I'||s[i]=='o'||s[i] =='O'||s[i]=='u'||s[i]=='U') {c[j]=s[i];j++;}c[j]='\0';}7.8main(){char str[80];,.scanf("%s",str);insert(str);}insert(str)char str[];{int i;for(i=strlen(str);i>0;i--) {str[i*2]=str[i];str[i*2-1]=' ';}printf("%s\n",str);}7.9int alph,digit,space,others; main(){char text[80];gets(text);alph=0,digit=0,space=0, others=0;count(text);printf("\nalph=%d,digit= %d,space=%d,others=%d \n",alph,digit,space,other s);}count(str)char str[];{int i;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]< ='z')||(str[i]>='A'&&str[i] <='Z'))alph++;elseif(str[i]>='0'&&str[i]<='9') digit++;else if(strcmp(str[i],' ')==0)space++;elseothers++;}7.10int alph(c),.char c;{if((c>='a'&&c<='z')||(c> ='A'&&c<='Z'))return(1);elsereturn(0);}int longest(string)char string[];{intlen=0,i,length=0,flag=1,p lace,point;for(i=0;i<=strlen(string);i ++)if(alph(string[i]))if(flag){point=i;flag=0;}elselen++;else{flag=1;if(len>length){length=len;place=point;len=0;}}return(place);}main(){int i;char line[100];gets(line);for(i=longest(line);alph(li ne[i]);i++)printf("%c",line[i]);printf("\n");}7.11#define N 10char str[N];main(),.{int i,flag;for(flag=1;flag==1;) {scanf("%s",str);if(strlen(str)>N)printf("input error");elseflag=0;}sort(str);for(i=0;i<N;i++)printf("%c",str[i]);}sort(str)char str[N];{int i,j;char t;for(j=1;j<N;j++)for(i=0;(i<N-j)&&(str[i] !='\0');i++)if(str[i]>str[i+1]){t=str[i];str[i]=str[i+1];str[i+1]=t;}}7.12#include<math.h>float solut(a,b,c,d)float a,b,c,d;{float x=1,x0,f,f1;do{x0=x;f=((a*x0+b)*x0+c)*x0 +d;f1=(3*a*x0+2*b)*x0+c;x=x0-f/f1;}while(fabs(x-x0)>=1e-5); return(x);}main(){float a,b,c,d;scanf("%f,%f,%f,%f",&a, &b,&c,&d);,.printf("x=%10.7f\n",solut (a,b,c,d));}7.13main(){int x,n;float p();scanf("%d,%d",&n,&x); printf("P%d(%d)=%10.2f \n",n,x,p(n,x));}float p(tn,tx)int tn,tx;{if(tn==0)return(1);else if(tn==1)return(tx);elsereturn(((2*tn-1)*tx*p((t n-1),tx)-(tn-1)*p((tn-2),tx) )/tn);} 7.14#define N 10#define M 5float score[N][M];float a_stu[N],a_cor[M]; main(){int i,j,r,c;float h;float s_diff();float highest();r=0;c=1;input_stu();avr_stu();avr_cor();printf("\n number clas s 1 2 3 4 5 avr");for(i=0;i<N;i++) {printf("\nNO%2d",i+1);for(j=0;j<M;j++)printf("%8.2f",score[i] [j]);,.printf("%8.2f",a_stu[i]);}printf("\nclassavr");for(j=0;j<M;j++)printf("%8.2f",a_cor[j]); h=highest(&r,&c);printf("\n\n%8.2f %d %d\n",h,r,c);printf("\n %8.2f\n",s_di ff());}input_stu(){int i,j;float x;for(i=0;i<N;i++){for(j=0;j<M;j++){scanf("%f",&x);score[i][j]=x;}}}avr_stu() {int i,j;float s;for(i=0;i<N;i++){for(j=0,s=0;j<M;j++)s+=score[i][j];a_stu[i]=s/5.0;}}avr_cor(){int i,j;float s;for(j=0;j<M;j++){for(i=0,s=0;i<N;i++)s+=score[i][j];a_cor[j]=s/(float)N; }}float highest(r,c)int *r,*c;{float high;int i,j;high=score[0][0];,.for(i=0;i<N;i++)for(j=0;j<M;j++)if(score[i][j]>high){high=score[i][j];*r=i+1;*c=j+1;}return(high);}float s_diff(){int i,j;floatsumx=0.0,sumxn=0.0; for(i=0;i<N;i++) {sumx+=a_stu[i]*a_stu[ i];sumxn+=a_stu[i];}return(sumx/N-(sumxn/ N)*(sumxn/N));} 7.15#include<stdio.h>#define N 10void input_e(num,name) int num[];char name[N][8];{int i;for(i=0;i<N;i++) {scanf("%d",&num[i]);gets(name[i]);}}void sort(num,name) int num[];char name[N][8];{int i,j,min,temp1;char temp2[8];for(i=0;i<N-1;i++) {min=i;for(j=i;j<N;j++)if(num[min]>num[j]) min=j;,.temp1=num[i];num[i]=num[min];num[min]=temp1;strcpy(temp2,name[i]);strcpy(name[i],name[ min]);strcpy(name[min],tem p2);}for(i=0;i<N;i++)printf("\n%5d%10s",nu m[i],name[i]);}void search(n,num,name) int n,num[];char name[N][8];{int top,bott,min,loca;loca=0;top=0;bott=N-1;if((n<num[0])||(n>num[N -1]))loca=-1;while((loca==0)&&(top< =bott)){min=(bott+top)/2;if(n==num[min]){loca=min;printf("number=%d, name=%s\n",n,name[loca ]);}else if(n<num[min])bott=min-1;elsetop=min+1;}if(loca==0||loca==-1) printf("number=%d is not in table\n",n);}main(){intnum[N],number,flag,c,n;,.char name[N][8];input_e(num,name);sort(num,name);for(flag=1;flag;) {scanf("%d",&number);search(number,num,n ame);printf("continue?Y/N!" );c=getchar();if(c=='N'||c=='n')flag=0;}}7.16#include<stdio.h>#define MAX 1000 main(){int c,i,flag,flag1;char t[MAX];i=0;flag=0; flag1=1;while((c=getchar())!='\0' &&i<MAX&&flag1){if(c>='0'&&c<='9'||c> ='A'&&c<='F'||c>='a'&& c<='f'){flag=1;t[i++]=c;}else if(flag){t[i]='\0';printf("\nnumber=% d\n",htoi(t));printf("continue?");c=getchar();if(c=='n'||c=='N')flag1=0;else{flag=0;i=0;}},.}}htoi(s)char s[];{int i,n;n=0;for(i=0;s[i]!='\0';i++){if(s[i]>='0'&&s[i]<='9')n=n*16+s[i]-'0';if(s[i]>='a'&&s[i]<='f')n=n*16+s[i]-'a'+10;if(s[i]>='A'&&s[i]<='F')n=n*16+s[i]-'A'+10;}return(n);}7.17#include<stdio.h>void convert(n)int n;{int i;if((i=n/10)!=0)convert(i);putchar(n%10+'0');}main(){int number;scanf("%d",&number); if(number<0) {putchar('-');number=-number;}convert(number);}7.18main(){int year,month,day;int days;scanf("\n%d,%d,%d",&ye ar,&month,&day);days=sum_day(month,d ay);if(leap(year)&&(month> =3)),.days+=1;printf("days=%d\n",days );}static intday_tab[13]={0,31,28,31,3 0,31,30,31,31,30,31,30,31} int sum_day(month,day) int month,day;{int i;for(i=1;i<month;i++) day+=day_tab[i];return(day);}int leap(year)int year;{int leap;leap=year%4==0&&yea r%100!=0||year%400==0; return(leap);} 第八章编译预处理8.1#define SWAP(a,b)t=b;b=a;a=tmain(){int a,b,t;scanf("%d,%d",&a,&b); SWAP(a,b);printf("a=%d\tb=%d\n", a,b);}8.2#define SURPLUS(a,b) ((a)%(b))main(){int a,b;scanf("%d,%d",&a,&b); printf("%d",SURPLUS(a,b ));}。

C语言学习知识程序设计课后规范标准答案

C语言学习知识程序设计课后规范标准答案

.\第二章C++简单程序设计2-10 执行完下列语句后,a、b、c三个变量的值为多少?a = 30;b = a++;c = ++a;a:32 ;b:30 ;c:32;2-13 写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。

解:for循环:for (int n = 100; n <= 200; n += 2);while循环:int x = 100;while (n <= 200)n += 2;do…while循环:int n = 100;do{n += 2;} while(n <= 200);2-17 修改下面这个程序中的错误,改正后它的运行结果是什么?#include <iostream.h>void main()int iint j;i = 10; /* 给i赋值j = 20; /* 给j赋值*/cout << "i + j = << i + j; /* 输出结果*/ return 0;}解:改正:#include <iostream.h>int main(){int i;int j;i = 10; // 给i赋值j = 20; /* 给j赋值*/cout << "i + j = " << i + j; /* 输出结果*/ return 0;}程序运行输出:i + j = 30 2-18 编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。

解:源程序:#include <iostream.h>int main(){int i;cout << "请输入一个数字:";cin >> i;cout << "您输入一个数字是" << i << endl;return 0;}程序运行输出:2-20 打印ASCII码为32~127的字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.\ 2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。

这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。

#include <stdio.h>.\ void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:"); scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。

这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。

#include <stdio.h>void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++){ pi=pi+t;n=n+2;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:");scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);}/*方法二:使用通项公式2*i+1*/main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;} total=total+sum;}printf("total=%ld",total);}2.程序填空(1)求任意两个整数之间所有的素数。

#include <stdio.h>void main(){int i1,i2,i,j,flag;printf("input two integer(i1,i2):");scanf("%d%d", &i1 , &i2 );printf("prime number:\n");for(i= i1 ;i<= i2 ;i++){flag=1;for(j=2;j<=i-1;j++){if(i%j==0){flag= 0 ;break;}}if(flag==1)printf("%d\t",i);}printf("\n");}(2)以下程序的功能是输出下三角九九乘法表。

#include <stdio.h>void main(){ int i,j;for(i=1;i<= 9;i++){ for(j=1;j<= i;j++)printf("%d*%d=%d\t",i,j, i*j);printf("\n");}}3.程序改错(1)下列程序的功能是输出所有的“水仙花数”。

相关文档
最新文档