程序设计2
高级语言程序设计2及答案
main()
{ abc(); abc();abc();}
A、000
B、111
C、1,2,3
D、123
13、下列程序的输出结果为(C
)
main()
{ int a[5]={2,4,5,6,10},*p,**k;
p=a; k=&p; printf(“%d”,*(P++)); printf(“%d\n”,**k); }
(C)
int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i;
p=a;
A. *(a+i) B. a[p-a] C. p+i D. *(&a[i])
12、下列程序执行后输出的结果为( D )
#include<>
abc()
{ static int x=0; ++x; printf(“%d”,x);}
1、不能作为 C 语言标识符的是( B )
A、__char
B、#M
C、abc
D、A_B_C
2、下面哪个表达式的值为 4 ( D )
A. 11/3 B. 3 C. (float)11/3 D. (int)3+
3、判断 char 型 变量 c1 是否为大写字母的正确表达式( C )
A、 ’A’<=c1<=’Z’
高级语言程序设计 2 及答案(总 4 页)
-本页仅作为预览文档封面,使用时请删除本页-
*********** *********** *********** *********** **** *********** *********** *********** *********** **** 班级:
C语言程序设计(第2版)
该教材分为12个章节,主要包括程序设计概述,数据及其运算,简单程序设计,分支结构程序设计,循环结 构程序设计,组数,函数,指针,结构体,文件,共用体、枚举和位运算,C++程序设计基础。每一章的开始设 置有“本章导读”和“主要知识点”栏目。“本章导读”既对该章教学内容进行引入,又对该章教学内容进行简 介;“主要知识点”则对该章知识逐项进行罗列说明。每一章节后还设有本章小结与习题等栏目。此外,还包括C 语言的保留字、C语言的运算符两个附录的内容。
成书过程
成书过程
作者秉承“建设精品教材,培养优秀人才”的教育理念,听取和采纳了任课教师的意见,吸收、借鉴其他教 材的长处,融入教学实践经验和教学研究成果,在结构和内容两个方面对第1版进行了全面的调整优化,编写完成 了该教材 。
《C语言程序设计(第2版)》由张磊任主编,冯伟昌、黄忠义、张元国任副主编,魏建国、王桂东、魏军、 高永存、薛莹、徐英娟、徐思杰、潘振昌、王金才、王涛、张文、彭玉忠、马明祥、滕秀荣、李竹健、王凤丽、 曲立杰、刘福香参加了该教材编写工作,全书由张磊统稿和定稿。该教材的编写和出版也得到了相关人员的支 持。
2009年8月22日,该教材由高等教育出版社出版 。
内容简介
c语言程序设计(第二版)习题答案
c语言程序设计(第二版)习题答案由于我无法提供具体书籍的习题答案,但我可以给你一些关于如何解答C语言程序设计习题的通用建议和方法。
C语言程序设计习题解答指南1. 理解题目要求在开始解答任何C语言习题之前,首先要仔细阅读题目,理解题目的具体要求。
这包括输入输出格式、数据类型、程序功能等。
2. 规划程序结构在编写代码之前,规划程序的基本结构。
这包括确定程序的函数、变量、循环和条件语句等。
3. 编写伪代码在实际编码之前,编写伪代码可以帮助你组织思路,确保程序逻辑清晰。
4. 编写代码根据伪代码,开始编写C语言代码。
注意以下几点:- 变量声明:确保变量类型正确,避免类型转换错误。
- 函数定义:如果题目要求使用函数,定义清晰的函数接口。
- 控制结构:使用循环和条件语句来控制程序流程。
- 输入输出:按照题目要求实现输入输出。
5. 调试程序编写完代码后,进行调试。
检查程序是否有语法错误,逻辑错误,以及是否满足题目要求。
6. 测试程序使用不同的测试用例来测试你的程序,确保它在各种情况下都能正确运行。
7. 代码优化在确保程序正确运行后,考虑代码的可读性和效率,进行必要的优化。
8. 注释代码添加注释来解释关键的代码段,这不仅有助于他人理解你的代码,也有助于你自己在一段时间后回顾代码。
9. 复习和学习解决习题后,回顾解题过程,总结学到的知识点和技巧,不断学习和提高。
10. 求助和讨论如果遇到难题,不要害怕寻求帮助。
与同学、老师或在线社区讨论问题,可以帮助你获得新的视角和解决方案。
示例:求解一个简单的C语言习题假设有一个习题要求你编写一个程序,计算并输出1到10的和。
题目要求:- 输入:无- 输出:1到10的整数和解题步骤:1. 理解题目:题目要求计算1到10的和并输出。
2. 规划程序结构:程序将使用一个循环来累加1到10的整数。
3. 编写伪代码:```初始化总和为0对于i从1到10累加i到总和输出总和```4. 编写代码:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1 to 10 sum is: %d\n", sum);return 0;}```5. 调试和测试:运行程序,检查输出是否正确。
c语言程序设计教程(第2版)课后题及模拟题参考答案
c语言程序设计教程(第2版)课后题及模拟题参考答案习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。
其基本结构包括顺序结构、选择结构和循环结构三种。
2.算法是对具体问题求解步骤的一种描述。
计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。
1-3 编程题1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。
#include "stdio.h"main(){ float a, b, h, s;a=10; b=20;h=5; s=(a+b)*h/2;printf("s=%f\n" , s );}2. 编写程序显示如图1.11所示信息。
图1.11 显示信息#include "stdio.h"main(){ printf("******************************\n");printf("* hello world *\n");printf("******************************\n"); }习题22-1 单选题1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题1.2.0000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 55习题33-1 选择题1-5BDABC 6-10ADCAC 11-12BB3-2 填空题1. 32.02613.0x104. 2, 1 互换a,b的值5. 6.66.–0038.77. 5.0,4,c=3<Enter>8.i=10,j=20<Enter>9.(1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5) 8765.432(6) 5.864000e+002(7) 3.141600e+000(8) 3.1416(9) 8765(10) 3.1416,8765.4310.a=2 b=5x=8.8 y=76.34c1=65 c2=973-3 编程题1. 编写程序实现从键盘输入两个十进制整型数据10和8给变量x和y,并按下列格式 输出。
程序设计2
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Change-----------------------------------------------------------------
1功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
求出的最大数为18,行坐标为2,列坐标为1。
5功能:编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。
6功能:求一个给定字符串中的数字字母的个数。
7功能:对长度为7个字符的字符串,除首、尾字符外,将其
余5个字符按降序排列。
if(OUT==NULL)
{
printf("Write File Error");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
rladc++,如果输入的字符在字符串中不存在,则字
符串照原样输出。
21功能:对长度为8个字符的字符串,将8个字符按降序排列。
asp程序设计第二版课后习题答案
第1章基础1.什么是静态网页?什么是动态网页?静态网页就是用纯HTML代码编写的网页。
这些网页的代码是用一些编辑器输入的,或者是用一些网页设计程序生成的,保存为.html或.htm文件的形式。
设计完成之后,无论是哪个用户访问这个网页,在什么时候访问这个网页,以何种方式进入这个网页,它的显示都不会发生任何变化。
要对用户请求做出动态响应,就要使用动态网页,动态网页可以为不同的用户提供个性化的服务,而为了实现这种动态性,就需要进行程序设计。
2.简述你对的事件驱动机制的理解。
使用一个事件驱动编程模型。
该模型定义了一个事件序列,这些事件在页面的生命周期中被依次引发,顺序为Init →Load →控件事件→Unload对每个引发的事件,你可能需要完成一些任务。
可以在称为事件处理过程中编写代码。
例如,可以在Web页面的Init或Load事件中编写页面初始化代码。
Page_Init是页面的Init 事件的事件处理器,而page_Load是页面的Load事件的事件处理器。
3.简述页面的事件序列,事件触发时机及顺序。
4.IsPostBack的作用是什么?在page_Load的过程中,你可以读取或者重置页面的属性和控件的属性,根据IsPostBack属性判定页面是否为第一次被请求,执行数据绑定等等。
IsPostBack属性为false 表明页面是被第一次显示,为true表明页面被请求后返回(PostBack)的结果值。
5.怎样配置运行环境?(略)第2章C#语言基础1.怎样在程序中加入注释文本?可以使用服务器端注释在页面中包括注释,服务器端注释说明文档,也可防止服务器代码和静态内容执行或呈现。
服务器端注释以<%一开始,以一%>结束。
如下所示:<%-- 这是一个注释--%>在代码中用//做单行注释;用/* */作多行注释2.C#语言中有哪几种控制语句?●条件控制if else switch case●循环控制while do for foreach●跳转语句break continue3.在构造表达式时,怎样明确指定运算次序?见表2-8 运算符从高到低的优先级顺序4.指出下列语句中的语法错误int i;for (i = 1; i <= 10; i++){if ((i % 2) = 0)continue;Response.Write(i);}答:if ((i % 2) = 0)中要用==5.下列语句有哪些语法错误?string[] arr = new string[5]string[5] = 5th string.答:string[] arr = new string[5]string[5] = “hello”.语句缺少分号;字符串要用双引号””6.写一个程序,把字符串“Hello Word”以相反顺序输出<%@ Page Language="C#" %><%String s="Hello World";for (int i = s.Length-1;i>=0;i--){Response.Write(s[i]);}%>7.下面函数有什么错误?bool Write(){Response.Write("Text output from function.");}答:缺少reture语句。
C语言程序设计(第二版)答案
参考答案习题二(P33)一.单选题1.C2.B3.D4.C5.A6.D7.D8.B9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2二.填空题1. 182. int float double3. 10 114. 八十六十5. %三.阅读程序题1.10,10,9,102.j=1,i=2k=3,i=3j=3,i=2k=1,i=1习题三(P52)一.单选题1.D2.C3.D4.B5.A6.B7.C8.A9.C 10.B 11. -1,37777777777,4294967295 二.填空题5. L6. -1三.阅读程序题1. 6 6 6.00 6.002. x=127,x= 127,x=177,x=7fY=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四.程序设计题1.#include "stdio.h"#include "math.h"main(){float a,b,c,d,x1,x2;a=2;b=-3;c=-5;d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}2.#include <stdio.h>main(){ float a,v,s;scanf("%f",&a);v=a*a*a;s=6*a*a;printf("v=%.2f,s=%.2f\n",v,s);}3.#include <stdio.h>main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d\n",a,b,c);}4.#include <stdio.h>main(){ char s1,s2;s1=getchar();s2=s1-32;printf("%c\n",s2);}习题四(P70)一.单选题1.C2.D3.D4.B5.A6.D7.D8.B9.C 10.A 11.B 12.D 13.passwarnerror .14.C 15. C 16.B 17. B 18. C二.填空题1. 非0 02. k==03. n%7==0 && n%8==0 else三.阅读程序题1. a=1,b=02. c=1四.程序设计题1.#include <stdio.h>main(){ int a,b;char c;printf("INPUT A+(-*/)B\n");scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':printf("%d/%d=%d\n",a,b,a/b);break;default:printf("INPUT ERROR!");}}2.#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x==0||x==2)y=0;else if(x>0) y=(x+1)/(x-2);else y=(x-1)/(x-2);printf("y=%f\n",y);}3.#include <stdio.h>main(){ int g;printf("请输入学生成绩:");scanf("%d",&g);printf("g=%d:",g);switch(g/10){case 10:printf("A\n");break;case 9:printf("B\n");break;case 8:printf("C\n");break;case 7:printf("D\n");break;case 6:printf("E\n");break;default:printf("F\n");}}4.#include <stdio.h>main(){ int x,n=0;scanf("%d",&x);if(x<=0||x>=10000)printf("Data Error!\n");else{if(x<10)n=1;else if(x<100)n=2;else if(x<1000)n=3;else n=4;}printf("n=%d\n",n);}习题五(P87)一.单选题1.B2.D3.C4.C5.B6.C7.D8.C9.A 10.D 11.B 12.B 13.B 14.D 15. C 二.填空题1. for语句while语句do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三.改错题应改为for(i=0;i<5;i++)j++;应改为int j=0;while(j<10){j++;i=j;} 注while(j<10)后不应有分号应改为while(j<10); 注while(j<10)后分号不能少s*=i;i++;应改为{s*=i;i++;}continue 应改为break四.程序设计题1.#include <stdio.h>main(){ int i,j,s=0;for(i=1,j=1;i<=100;i++,j=j*(-1))s=s+i*j;printf("s=%d\n",s);}1.(另一做法)#include<stdio.h>main(){int i,s;for(i=1,s=0;i<=100;i++)if(i%2==0)s=s-i;else s=s+i;printf ("%d\n",s);}2.#include <stdio.h>main(){ int i,j,s1=0,s2=0;for(i=0;i<10;i++){scanf("%d",&j);if(j>0)s1=s1+j;else s2=s2+j;}printf("s1=%d,s2=%d\n",s1,s2);}3.#include<stdio.h>main(){int i,s;for(i=6,s=0;i<=96;i=i+1)if(i%10==6||i/10==6)s=s+i;printf ("%d\n",s);}4.#include<stdio.h>main(){int i,a,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\n",i);}}5.#include <stdio.h>main( ){int i,j,k=0;for (i=1;i<=4;i++){for (j=1;j<=i;j++){k++;printf("%d",k%10);}printf("\n");}}6.#include <stdio.h>main( ){int i,j,k=0;for (i=-3;i<=3;i++){if(i<0)k=-i;else k=i;for(j=1;j<=k;j++)printf(" ");for(j=1;j<=7-2*k;j++)printf("*");printf("\n");}}习题六(P111)一.单选题1.D2.B3.C4.C5.C6.D7.A8.B二.填空题1. 20 0 192. 数组名3. 越界4. 65. j==k a[j][k]=1; a[j][k]=0;三.阅读程序题1. 6 5 43 2 12.aaabbbccc ddd3.2,2,1四.程序设计题1.#include<stdio.h>main(){ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s+=a[i][j];printf("%d",s);}2.#include <stdio.h>{ char a[80];int i,j=5; /*假设删除位置为5*/gets(a);for(i=j-1;a[i]!='\0';i++)a[i]=a[i+1];a[i]='\0';puts(a);}3.#include <stdio.h>#include <string.h>main(){ char a[80];int i,j=5; /*假设插入位置为5*/char s='t'; /*假设插入字符为t*/gets(a);for(i=strlen(a);i>j;i--)a[i+1]=a[i];a[j]='t';puts(a);}4.#include<stdio.h>main(){ int a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}; int i,j,s1[3]={0},s2[5]={0};for(i=0;i<3;i++)for(j=0;j<5;j++)s1[i]+=a[i][ j];for(i=0;i<5;i++)for(j=0;j<3;j++)s2[i]+=a[ j][i];for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%6d",a[i][j]);printf (" |%6d\n",s1[i]);}for(i=0;i<33;i++) printf("-");printf("\n");for(i=0;i<5;i++) printf("%6d",s2[i]);printf("\n");}5.#include<stdio.h>{ char s[3][80];int a=0,b=0,c=0,d=0,e=0,i,j;for(i=0;i<3;i++) gets(s[i]);for(i=0;i<3;i++)for(j=0;s[i][j]!='\0';j++)if(s[i][j]>='A'&&s[i][j]<='Z')a++;else if(s[i][j]>='a'&&s[i][j]<='z')b++;else if(s[i][j]>='0'&&s[i][j]<='9')c++;else if(s[i][j]==32)d++;else e++;printf("%3d%3d%3d%3d%3d",a,b,c,d,e);}习题七(P145)一.单选题1.A2.B3.C4.A5.C6.D7.C8.B9.B 10.C 11.D 二.填空题1. 该函数内局部2. 整型3. k<=breturn y;4. x[i]return (ave);fun(a,20)5. 1;add(n-1);add(n);6. n*f(n-1)0;f(i)三.阅读程序,写出运行结果1.10,20,302.643.84. hlo5. sum=55四.程序设计题1.#include <stdio.h>main(){float add(float, float), sub(float, float);float aver(float, float),a,b;scanf("%f,%f",&a,&b);printf("add=%f, sub=%f\n ", add(a,b), sub(a,b)); printf("aver =%f", aver(a,b));}float add(float x, float y) {return(x+y);}float sub(float x, float y) {return(x-y);}float aver(float x, float y) {return((x+y)/2);} 2.#include<stdio.h>main(){ int a,b,c,abmax(int,int);scanf("%d%d%d",&a,&b,&c);printf("max=%d\n",abmax(abmax(a,b),c)); }int abmax(int a,int b){if(a>b)return a;else return b;}3.#include <stdio.h>main(){float x,fun(float, int);int n;scanf("%f%d",&x,&n);printf("%f\n", fun(x,n));}float fun(float x, int n){float y;if(n==0)y=1;else y=x*fun(x,n-1);return y;}4.#include <stdio.h>main(){long f(int);int n,k;scanf("%d",&n);for(k=1;k<=n;k++)printf("%ld,",f(k));printf("\n");}long f(int n){long y;if(n<=2)y=1;else y=f(n-1)+f(n-2); return y;}5.#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k,s;for(k=0;k<n/2;k++) {s=a[k];a[k]=a[n-k-1];a[n-k-1]=s;}}5. (另一做法)#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k;char b[50];for(k=0;k<n;k++)b[n-1-k]=a[k];b[k]=a[k];strcpy(a,b);}6.#include <stdio.h>#define KK 100main(){char a[KK];long sjz(char a[]);int i=0,f1=0;printf("input a data:");gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9'||a[i]>='A'&&a[i]<='F'||a[i]>='a'&&a[i]<='f') continue;else {f1=1;break;}}a[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(a));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}6.(另一做法)#include <stdio.h>#define KK 100main(){char str[KK],c;long sjz(char a[]);int i=0,f1=0;printf("input a data:");while((c=getchar())!='\n'&&i<KK){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')str[i++]=c;else f1=1;}str[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(str));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}习题八(P181) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.C4.D5.C6.B7.C8.C9.C 13.D 14.B 15.A 16.C 17.A 二.填空题1. 指向取地址2. 2 +23. 286. *(p+5)7. ABCD A三.阅读程序题1.102.103.04. 3,65. 1 2 3 4四.程序填空题1.a,b,c或者&x,&y,&z max=*b或者max=y max=*c或者max=z2. ++ =*q ++ ++4. int *a,int *b b[j]=a[i] b[i++]5. *str+=3 *str>’z’&&*str<’a’||*str>’z’ a6. else 0 t[2*j+1]五.程序设计题1.#include <stdio.h>main(){int a[10],*p,*q,t;p=a;for(q=a;q<a+10;q++)scanf("%d",q);for(q=a;q<a+10;q++)printf("%5d",*q);printf("\n");q--;for(;p<q;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;p<a+10;p++)printf("%5d",*p);printf("\n");}2.#include <stdio.h>#include <string.h>void main( ){ char a[50],*p1,*p2,t,n;gets(a);n=strlen(a);p1=a; p2=a+n-1;for(; p1<p2; p1++, p2--){t=*p1; *p1=*p2; *p2=t;}puts(a);}另一做法#include <stdio.h>main(){char str[20],*p=str;gets(str);while(*p)p++;p--;while(p>=str){printf("%c",*p);p--;}printf("\n");}3.#include <stdio.h>main(){int a[10],*p,*max,*min,t;for(p=a;p<a+10;p++)scanf("%d",p); for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");max=min=a;for(p=a+1;p<a+10;p++){if(*p>*max)max=p;if(*p<*min)min=p;}t=a[0];a[0]=*min;*min=t;t=a[9];a[9]=*max;*max=t;for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");}5.#include <stdio.h>int length(char *s){int n=0;while(*s){n++;s++;}return n;}main(){char str[20];int n;gets(str);n=length(str);printf("The string length is %d\n",n);}6.#include <stdio.h>main(){char str[81],*p=str,*q,t;gets(str);printf("The origenal string:\n");puts(str);for(p=str;*(p+1);p++)for(q=p+1;*q;q++)if(*q<*p){t=*p;*p=*q;*q=t;}printf("The result string:\n");puts(str);}习题九(P222) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.B4.D 8.B 9.B 10.C二.填空题1. 结构体成员结构体指针指向2. 343. 224.ex三.阅读程序题1.92.10,x3.134. 46 40 415. 06. 3839。
C语言程序设计二
int x=10, y=10, z=10 ;
//不能写成int x=y=z=10;
2.2.3 标准函数
C编译系统提供的库函数
− 包括: 输入输出函数、数学函数、字符和字符串函数等。
数学函数 − sin(x) − cos(x) − exp(x)
− log(x)
− log10(x) − fabs(x)
空类型
一种无返回 值函数的数 据类型。 void
自定义
用新的类型 名替代已有 类型名使用。 用typedef 定义
C语言的基本数据类型 整型: 包括有、无符号的基本整型、短整型、长整型 实型: 包括单精度实型、双精度实型 float,double 字符型: 用于表示和存储ASCII字符。 char
2.2
−无符号整数: 用后缀 U/u 表示。
017u, 0xfdbU
−无符号长整数: 用后缀 UL/ul 表示。
15uL
2. 实型常量——浮点数
实型常量又称实数, 指带有小数部分的数。C语言中的实数 是以十进制表示的, 有两种表示形式:
−十进制小数形式:
由数字、数符和小数点组成。
例:
0.123, .123, 123. ,0.0 , -2.5,…
( 存放的是字符的ASCII码值) 字符数据与整型数据可相互赋值,直接运算。 可以把字符变量按整型量输出, 也允许把整型量按 字符量输出。
【例2.4】字符型变量的使用 #include <stdio.h> void main( ) { int a=„b‟; char c1=97; c1=c1-32;
第二章
数据类型、运算符和表达式
§2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式
C语言程序设计 (2)
作业2 单项选择题第1题C语言的函数体用什么符号来分隔?A、()B、{}C、[]D、<>答案:B第2题下面不正确的字符串常量是___。
A、abc'B、"12'12"C、"0"D、" "答案:A第3题二进制数01100100转换成十六进制数是:A、64B、63C、100D、144答案:A第4题下列不是合法的C语言常量类型的是:A、intB、floatC、voidD、double答案:C多项选择题第5题属于结构化程序设计基本结构的有:A、顺序结构B、跳转结构C、选择结构D、循环结构答案:A|C|D第6题一个函数可以带回一个:A、整型值B、字符值C、实型值D、指针答案:A|B|C|D第7题不能正确表示a≥10或a≤0的关系表达式是:A、a>=10 or a<=0B、a>=10│a<=0C、a>=10││a<=0D、a>=10 ││a<=0答案:A|B|C第8题指针变量可以指向:A、整型变量B、字符串C、数组D、函数答案:A|B|C|D判断题第9题一个实型数据一般占两个字节。
答案:错误第10题每一个C程序都必须有一个main函数。
答案:正确第11题整型常量可用十进制整数,八进制整数,二进制整数和十六进制整数表示。
答案:错误第12题自增运算符只能用于变量。
答案:正确填空题第13题C程序的扩展名一般是___。
答案:C第14题float型数据的长度是___位。
答案:32第15题C程序也要通过___、___才能执行。
答案:编译,连接第16题C语言___在定义变量的同时初始化变量。
(填“允许”或“不允许”)答案:允许问答题第17题实型变量分为哪些类型?答案:C实型变量分为单精度(float型)和双精度(double型)两类第18题C语言的运算符具有哪些特点?答案:C的运算符包含的范围很广泛,共有34种运算符(见附录III)。
c语言程序设计教程第二版课后习题答案
c语言程序设计教程第二版课后习题答案1. 基本概念和语法1.1 变量和数据类型题目:请将下列C语言的变量定义语句补充完整,并给出每个变量的数据类型和初始化值。
代码:```c#include <stdio.h>int main() {int a;float b;char c;double d;int x = 5;float y = 3.14;char z = 'A';printf("a的数据类型:%s,a的初始值:%d\n", typeof(a), a);printf("b的数据类型:%s,b的初始值:%f\n", typeof(b), b); printf("c的数据类型:%s,c的初始值:%c\n", typeof(c), c); printf("d的数据类型:%s,d的初始值:%lf\n", typeof(d), d); printf("x的数据类型:%s,x的初始值:%d\n", typeof(x), x); printf("y的数据类型:%s,y的初始值:%f\n", typeof(y), y); printf("z的数据类型:%s,z的初始值:%c\n", typeof(z), z); return 0;}```答案:a的数据类型:int,a的初始值:随机值b的数据类型:float,b的初始值:随机值c的数据类型:char,c的初始值:'\0'd的数据类型:double,d的初始值:随机值x的数据类型:int,x的初始值:5y的数据类型:float,y的初始值:3.140000z的数据类型:char,z的初始值:A1.2 运算符和表达式题目:请在下列C语言程序中补充运算符,使程序达到题目要求。
```c#include <stdio.h>int main() {int a = 5;int b = 3;int c;// 1. 将a和b的和赋值给c,并将c的值输出// 补充代码// 2. 将a和b的差赋值给c,并将c的值输出// 补充代码// 3. 将a和b的积赋值给c,并将c的值输出// 补充代码// 4. 将a除以b的商赋值给c,并将c的值输出// 补充代码// 5. 将a除以b的余数赋值给c,并将c的值输出// 补充代码return 0;}```要求:1. 补充代码,使程序能够正确输出运算结果;2. 使用合适的运算符。
C语言课件第5章循环结构程序设计2
思考 1、如果去掉循环体 中的大括号会怎样? 2、在循环体中,使 循环条件趋向于不满 足(假)的语句是哪 条?
第5章
循环结构程序设计
举例
while和do-while循环的比较。
此程序的 功能?
#include <stdio.h> int main() { int i,sum=0; scanf("%d",&i); while(i<=10) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; }
第5章
循环结构程序设计
举例
现有某班20名学生的C语言成绩,求该班学生的C语 言的平均成绩。即:输入20个学生的成绩,计算平 均值,输出平均值。
分析:定义变量表示学生的成绩、全班总和、平均成绩。 如果定义20个变量保存20 算法设计: 个成绩,程序中计算成绩 第一步:输入20个学生的成绩 总和会有什么问题? 第二步:计算成绩总和 (用累加求和的方法)
运行结果:凵2550
#include <stdio.h> int main() { int i=1, n; float fac=1; printf("请输入n:"); scanf ("%d",&n); while (i<=n) { fac=fac*i; i++; } printf("%.0f\n",fac); return 0; } 请输入n:5
分析
求1~100的累加和。
换一种思路:
sum=sum+n;
首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次 取1、2、……、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n;”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的累 计和。
c语言程序设计教程第二版课后答案
c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。
#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。
程序设计第二版习题答案
程序设计第二版习题答案程序设计第二版习题答案在学习编程的过程中,我们经常会遇到一些难题和疑惑。
而《程序设计第二版》这本书,作为一本经典的编程教材,为我们提供了丰富的习题。
在这篇文章中,我将为大家提供一些《程序设计第二版》习题的答案,希望能够帮助大家更好地理解和掌握编程知识。
第一章:引论1. 编程是什么?答案:编程是将问题转化为计算机可以理解和执行的指令的过程。
通过编程,我们可以利用计算机解决各种实际问题。
2. 什么是计算机程序?答案:计算机程序是一系列指令的集合,用于告诉计算机如何执行任务。
程序可以包含条件判断、循环、函数等结构,以实现特定的功能。
第二章:C++基础知识1. 什么是变量?答案:变量是用于存储数据的一块内存空间。
在C++中,我们可以通过声明变量来指定变量的类型和名称,然后可以对其进行赋值和操作。
2. 如何定义一个整型变量并赋初值为10?答案:可以使用以下代码来定义一个整型变量并赋初值为10:int num = 10;第三章:控制结构1. 什么是条件语句?答案:条件语句用于根据条件的真假来执行不同的代码块。
在C++中,常用的条件语句有if语句和switch语句。
2. 如何使用if语句判断一个数是否为正数?答案:可以使用以下代码来判断一个数是否为正数:if (num > 0) {cout << "该数为正数" << endl;} else {cout << "该数不为正数" << endl;}第四章:函数1. 什么是函数?答案:函数是一段封装了特定功能的代码块,可以通过函数名和参数来调用执行。
函数可以提高代码的可读性和重用性。
2. 如何定义一个函数来计算两个数的和?答案:可以使用以下代码来定义一个函数来计算两个数的和:int sum(int a, int b) {return a + b;}第五章:数组和指针1. 什么是数组?答案:数组是一种用于存储多个相同类型元素的数据结构。
《C语言程序设计》2教学课件 第4章 循环结构程序设计
—7—
4.1 while循环
【例4.1】
计算从1到100的和。
#include<stdio.h> int main() {
int i,sum; sum=0; i=1; while(i<=100) {
sum=sum+i; i=i+1; } printf("1+2+3+...+99+100=%d",sum); return 0; }
表达式3
一般被称为“步长”,用于循 环变量的修改,该表达式是在 每次循环体执行完以后、下一 次循环条件判断之前执行的, 使循环变量经过多次循环的累 积而发生改变,最终因为不满 足循环条件退出循环。
— 26 —
4.3 for循环
【例4.7】
编程计算1到49之内的奇数和。
#include<stdio.h> int main() {
可将for循环语句改写为如下的while循环形式:
表达式1; while(表达式2) {
语句; 表达式3; }
例如:
for(i=1;i<=100;i++) sum=sum+i;
相当于:
i=1; while(i<=100) {
sum=sum+i; i++; }
— 28 —
4.3 for循环
因此,可以将例4.7用while语句进行改写如下:
/*定义及初始化变量*/ /*输出提示语*/ /*输入整数*/ /*如果输入的为负整数则取反*/
/*number整除10,即去掉最低位*/ /*位数加1*/ /*number不为0时循环*/ /*输出位数*/
10.2 C文件程序设计(二) 教案-《C语言程序设计基础》同步教学(航空工业出版社)
printf("排序后的二维数组为:\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
4. 程序示例:
```c
#include <stdio.h>
4. 学生能够通过实践活动,提高编程能力和解决问题的实际操作能力。
5. 学生能够通过讨论和分享,拓宽视野,提高创新思维和问题分析能力。
6. 学生能够通过总结回顾,巩固所学知识,提高学习效果。
7. 学生能够对C语言程序设计产生浓厚的兴趣,激发进一步学习和探索的动力。
8. 学生能够了解C语言程序设计在实际应用中的重要性和广泛性,提高对计算机技术的认识。
2. 科学精神:培养学生严谨的编程思维,激发学生探索未知、追求真理的科学精神。
3. 法治意识:使学生了解计算机编程在实际应用中应遵循的法律法规,培养法治意识。
4. 公共参与:通过小组合作学习,提高学生参与课堂讨论的积极性,培养公共参与意识。
重点难点及解决办法
1. 重点:C语言程序设计的基本语法和结构。
#include <stdio.h>
char *concatenate(const char *s1, const char *s2) {
char *result = (char *)malloc(strlen(s1) + strlen(s2) + 1);
strcpy(result, s1);
C程序设计教程第二版习题答案
C程序设计教程第二版习题答案第1章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
它支持多种编程范式,包括过程式、面向对象和泛型编程。
2. C语言的发展历史。
- C语言由丹尼斯·里奇在20世纪70年代初期开发,最初用于UNIX操作系统的编写。
随着UNIX的流行,C语言也逐渐普及。
第2章:C语言基础1. 变量声明的规则。
- 变量声明必须指定数据类型,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但数字不能作为变量名的首位。
2. 常量的使用。
- 常量是在程序执行过程中不能被修改的值,可以用#define预处理指令定义,或者直接使用字面量。
第3章:控制语句1. if语句的使用。
- if语句用于根据条件执行不同的代码块。
基本语法为:`if (条件) { 执行代码 }`。
2. switch语句的使用。
- switch语句用于根据变量的值执行不同的代码块。
基本语法为:`switch (变量) { case 值1: 执行代码1; break; ... }`。
第4章:循环语句1. for循环的使用。
- for循环用于重复执行一段代码直到满足特定条件。
基本语法为:`for (初始化; 条件; 增量/减量) { 执行代码 }`。
2. while循环的使用。
- while循环在条件为真时重复执行代码块。
基本语法为:`while (条件) { 执行代码 }`。
第5章:函数1. 函数的定义和调用。
- 函数是一段具有特定功能的代码块,可以被重复调用。
定义函数的基本语法为:`返回类型函数名(参数列表) { 函数体 }`。
调用函数时使用:`函数名(参数)`。
2. 函数的参数传递。
- 参数传递可以是值传递或引用传递。
值传递时,函数内部对参数的修改不会影响到外部变量的值;引用传递则相反。
第6章:数组1. 一维数组的声明和使用。
- 一维数组的声明语法为:`类型数组名[大小]`。
程序设计二复习题库(1)(1)
1.C++语言是从早期的C语言逐渐发展演变而来的。
与C语言相比,它在求解问题方法上进行的最大改进是()。
A、面向过程B、面向对象C、安全性D、复用性2.关于构造函数,下列说法不正确的是()。
A、构造函数名字和类名相同B、构造函数在创建对象时自动执行C、构造函数无任何函数返回类型D、构造函数有且只有一个3.如果类A被说明成类B的友元,则()。
A、类A的成员即类B的成员B、类B的成员即类A的成员C、类A的成员函数不得访问类B的成员D、类B不一定是类A的友元4.如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是()。
A、public和publicB、public和protectedC、protected 和publicD、protected和protected5.使用派生类的主要原因是()。
A、提高代码的可重用性B、提高程序的运行效率C、加强类的封装性D、实现数据的隐藏6.关于虚函数,正确的是()。
A、构造函数不能是虚函数B、析构函数不能是虚函数C、虚函数可以是友元函数D、虚函数可以是静态成员函数7.要实现动态链接,派生类中的虚函数()。
A、返回的类型可以与虚函数的原型不同B、参数个数可以与虚函数的原型不同C、参数类型可以与虚函数的原型不同D、以上都不对8.在语句cout << data;中,cout是()。
A、变量名B、类名C、对象名D、函数名9.有关运算符重载正确的描述是()。
A、C++语言允许在重载运算符时改变运算符的操作数个数B、C++语言允许在重载运算符时改变运算符的优先级C、C++语言允许在重载运算符时改变运算符的结合性D 、C++语言允许在重载运算符时改变运算符的原来的功能10.template <class T>T square( T x ){ return x*x; }其中T 是( )。
A 、函数形参B 、函数实参C 、模板形参D 、模板实参11.函数重载是指( )。
C语言程序设计(第2版)
作者简介
作者简介
衡军山(1974—),男,河北承德人,承德石油高等专科学校计算机与信息工程系副教授,从事计算机方面 的教学和研究工作。
马晓晨(1968一),男,河北保定人,承德石油高等专科学校计算机与信息工程系教授,博士,主要从事三 维可视化技术研究工作。
谢谢观看
教材目录
教材目录
(注:目录排版顺序为从左列至右列)
教学资源
配套教材
课程资源
配套教材
《C语言程序设计(第2版)》有配套的实践教学参考用书——《C语言程序设计实训指导(第2版)》。
课程资源
《C语言程序设计(第2版)》配有60个微课视频,书同时为国家精品资源共享课“C语言程序设计”的配套教材。
2020年12月28日,《C语言程序设计(第2版)》由高等教育出版社出版发行。
内容简介
内容简介
该书分为基础篇和提高篇两部分,共10个单元,其中,基础篇包括程序设计宏观认识、程序设计基础知识、 顺序结构程序设计、选择结构程序设计和循环结构程序设计5个单元;提高篇包括批量数据的处理、使用函数分工 合作、使用指针访问数据、结构体、共用体与用户自定义类型,以及文件的读写操作5个单元。每个单元都由导学、 本单元学习任务、知识描述、单元总结和知识拓展这5部分组成,同时辅以随堂练习。
《C语言程序设计(第2版)》的其他数字化课程教学资源,还包括课程标准、授课计划、电子教案、教学课 件PPT、学习思维导图、案例源码、习题答案等。
教材特色
教材特色
该书每个单元都设计了“导学”环节,以互动的方式引导学生逐步进入到学习情境之中;设计了单元学习任 务环节,使学生在进入学习前就能明确本单元的学习任务;设计了具有互动特点的“单元总结”环节,使教学总 结不再是教师的独角戏,帮助学生巩固和提升知识和能力,在互动中形成了“再学习”;设计了知识拓展环节, 作为学生必要的知识补充,丰富其知识量,培养和拓展其编程思维,赋予其想象的空间。该书知识与实践高度融 合,在教学过程中,培养学生集掌握知识和提升编程能力为一体,学生学习和教师教学形成互动。
《C语言程序设计(第2版)》课后习题参考答案prt
《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。
答:1.C语言是高级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2。
C语言是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
①C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
②C语言适用范围大。
适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。
②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int fun(char s[],char c)
{ int i=0;char *p=s;
while(*p)
{ if(*p!=c) { s[i]=*p;i++;}
p++;}
s[i]=‘\0’;
}
20.编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
{ t=array[j][i];array[j][i]=array[i][j];array[i][j]=t;}
}
19.编写函数fun,该函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。
例如:若程序执行时输入字符串为:turbo c and borland c++
从键盘上输入字符n,则输出后变为:turbo c ad borlad c++
return s/k;
}
13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。
void fun(int tt[M][N],int pp[N])
{ int i,j,k=0;double s=0.0;
for(j=0;j<N;j++) { s+=w[0][j];k++;}
for(j=0;j<N;j++) { s+=w[N-1][j];k++;}
for(i=1;i<=N-2;i++) { s+=w[i][0];k++;}
for(i=1;i<=N-2;i++) { s+=w[i][N-1];k++;}
{ char ch;int i,n;
i=0;n=strlen(s)-1;
while(i<(n+1)/2) { ch=s[i];s[i]=s[n];s[n]=ch;i++;n--;}
}
18.编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,若输入下面的矩阵: 100 200 300 则程序输出100 400 700
int fun(int lim,int aa[MAX])
{ int k=0,i,j;
for(i=lim;i>1;i--)
{ for(j=2;j<i;j++)
if(i%j==0) break;
else continue;
if(j>=i) { aa[k]=i;k++;}
}
return k++;
例如:若h值为8.32433,则函数返回8.32;若h值为8.32533,则函数返回8.33。
float fun(float h)
{ int t;float f;
t=(int)h;f=h-t;
if((int)(f*1000)%10>=5) f=((int)(f*100)%100+1)/100.0;
unsigned fun(unsigned w)
{ unsigned t=w,s=0,s1=1,p=0;
while(t>10)
{ if(t/10) p=t%10;
s=s+p*s1;s1=s1*10;t=t/10;}
return s;
}
16.请编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。
{ int i,j,min;
for(j=0;j<N;j++)
{ min=tt[0][j];
for(i=0;i<M;i++)
if(tt[i][j]<min) min=tt[i][j];
pp[j]=min;}
}
14.请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如:若二维数组中的值为 1 3 5 7 9 则函数值为61。
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
int fun(int a[M][N])
{ int i,j,s=0;
for(j=0;j<N;j++) { s+=a[0][j];s+=a[M-1][j];}
else f=((int)(f*100))/100.0;
h=t+f;
return h;
}
17.请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。
例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。fun(char *s)
for(i=1;i<=M-2;i++) { s+=a[i][0];s+=a[i][N-1];}
return s;
Байду номын сангаас}
15.请编写一个函数 unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;若w值为923,则函数返回23。
400 500 600 200 500 800
700 800 900 300 600 900
int fun(int array[3][3])
{ int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)
}
for(j=0;j<=i;j++) a[i][j]=0;
}
12.下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如:若a数组中的值为
则返回主程序后s的值应为3.375。
double fun(int w[][N])
11.下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如:a数组中的值为
,则返回主程序后a数组中的值应为
int fun(int a[][N])
{ int i,j;
for(i=0;i<N;i++)