C语言程序设计 第四次作业

合集下载

C语言程序设计 第四次作业

C语言程序设计 第四次作业

实验报告课程名称C语言程序设计实验项目顺序结构程序设计实验仪器___________________________系别__________自动化系__________专业_____自动化__________班级/学号自动化1907/2019010737____学生姓名________钱仪嘉_____________实验日期_________2019.11.28________成绩_______________________指导教师__________尤建清__________一、实验目的(1)掌握算术表达式、赋值表达式、关系表达式和逻辑表达式的计算。

(2)掌握常见数学库函数的使用。

(3)掌握C语言中基本输入、输出函数的使用方法。

(4)掌握选择结构程序设计的一般方法二、实验内容1.第一题实验题目:编写自定义函数,函数的功能是:将华氏温度F转化为摄氏温度C。

公式为:C=5/9(F-32).编写程序,输出一个华氏温度与摄氏温度对照表,其中华氏温度值为32~100,步长为4。

#include<stdio.h>double convent(int f);int main(){int f;float c;printf("华氏温度\t摄氏温度\n");for(f=32;f<=100;f=f+4){c=convent(f);printf("\t%d\t%10.2f\n",f,c); }}double convent(int f){double c;c=5.0/9*(f-32);return c;}实验题目:编写自定义函数,该函数有一个整型参数,函数的功能是当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时返回值为1。

编写程序从键盘输入任意10整数,统计其中奇数和偶数分别多少个。

判断奇偶性使用自定义函数实现。

#include<stdio.h>int isEven(int n);int main(){int i,n,odd=0,even=0;printf("请输入10个整数:");for(i=1;i<=10;i++){scanf("%d",&n);if(isEven(i)==1)odd++;else even++;}printf("其中有%d个偶数\n",even);printf("其中有%d个奇数\n",odd) ;return 0;}int isEven(int n){if(n%2==0)return 0;else return 1;}实验题目:输出一个计算圆的面积和周长的表,半径为10~100,步长为10,计算面积和周长分别使用自定义函数来实现。

C程序设计第四次作业

C程序设计第四次作业

C程序设计第四次作业一、选择题(每小题2分,共60分)1、若有语句int *point,a=4;和point=&a;则下面均代表地址的一组是。

A、a,point,*&AB、&*a,*point,&aC、&a,*&point,*pointD、&a,&*point,point2、下面判断正确的是。

A、char *a=”china”;等介于char *a;*a=”china” ;B、char str[10]={”china”};等介于char str[10];str[]={”china”};C、char *s=”china”;等介于char *s;s=”china”;D、char *s=”china”;等介于char s[10];*s=”china”;3、设p1和p2是指向同一个字符串的指针变量,,c为字符变量,则以下不能正确执行赋值语句的是。

A、c=*p1+*p2B、p2=cC、p1=p2D、c=*p1*(*p2)4、若有以下定义,则对a数组元素的正确引用是。

int a[5],*p=a;A、*a+1B、p+5C、&a+1D、&a[0]5、以下正确的定义语句和赋值语句是。

A、int b[3][5],(*q)[5],(*p)[3];p=b;q=b;B、float b[3][5],*p[3];[0]=b[0];p[2]=*b+4;C、double b[3][5],s[5][3],*q;q=b;s=q;D、int b[10],*q;char *s;q=b;s=b;6、下列语句定义p为指向float类型变量d的指针,其中是正确的。

A、float d,*p=d;B、float d,*p=&d;C、float *p=&d,d;D、float d,p=d;7、p1指向某个整型变量,要使指针p2也指向同一变量, 语句是正确的。

c语言第四次上机作业参考答案

c语言第四次上机作业参考答案

第四次上机作业参考答案:1.数组转置在主函数中定义一个n(1<=n<=6)维方阵,并从键盘读入数组元素;编写函数transpose(a,n)实现数组a转置;在主函数中输出转置后的方阵。

例:输入41 2 3 4 输出 1 5 9 135 6 7 8 2 6 10 149 10 11 12 3 7 11 1513 14 15 16 4 8 12 16#include <stdio.h>#define N 6void transpose(int a[][N],int n);void main( ){ int n,i,j;int a[N][N];printf("Input n(n<=6):");scanf("%d",&n);printf("Input the array:\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);printf("Display the array:\n");for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("%-4d",a[i][j]);printf("\n");}transpose(a,n);printf("Display the transposed array:\n");for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("%-4d",a[i][j]);printf("\n");}}void transpose(int a[][N],int n){int i,j,t;for(i=0;i<n;i++)for(j=0;j<i;j++){ t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}2.学生信息编写4个函数实现下列功能:(1)函数input() 输入20个学生姓名和高考总分;(2)函数sort() 按高考总分从高到低的顺序排序,姓名顺序也随之调整;(3)函数display()显示学生姓名及其高考总分;(4)在主函数中输入一个姓名,编写函数search() 用顺序查找方法找出该学生。

C语言程序设计形考任务4答案

C语言程序设计形考任务4答案

一、选择题(共30分,每小题2分)题目1假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。

选择一项:a. struct BOOK *x=malloc(book);b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;正确答案是:struct BOOK *x=malloc(book);题目2假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。

选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;正确答案是:struct BOOK *x=&book;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选择一项:a. 句点b. 冒号c. 分号d. 逗号正确答案是:分号题目4假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。

选择一项:a. 8b. 10c. 12d. 16正确答案是:16题目5假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。

选择一项:a. 4b. 8c. 12d. 16正确答案是:8题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选择一项:a. x.ab. x->ac. x(a)d. x{a}正确答案是:x->a题目7与结构成员访问表达式等价的表达式为()。

C语言程序设计第四次作业-选择结构(2)

C语言程序设计第四次作业-选择结构(2)

C语⾔程序设计第四次作业-选择结构(2)(⼀)改错题输出三⾓形的⾯积和周长,输⼊三⾓形的三条边a、b、c,如果能构成⼀个三⾓形,输出⾯积area和周长perimeter(保留2位⼩数);否则,输出“These sides do not correspond to a valid triangle”。

输⼊输出样例1: Enter 3 sides of the triangle: 5 5 3 area = 7.15; perimeter = 13.00输⼊输出样例2: Enter 3 sides of the triangle: 1 4 1 These sides do not correspond to a valid triangle源程序(有错误的程序)#include <stdio.h>#include <math.h>int main(void){double a,b,c;double area,perimeter,s;printf("Enter 3 sides of the triangle: ");scanf( "%lf%lf%lf",&a,&b,&c );if( a + b > c || b + c > a || a + c > b)s = ( a + b + c ) / 2;area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c );perimeter = a + b + c;printf("area = %.2f; perimeter = %.2f\n",area,perimeter);elseprintf("These sides do not correspond to a valid triangle\n");return 0;}错误信息1:错误原因:少⼀个右括号。

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n);}printf("\n");}7. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);}8. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue;printf("%d ",i);s+=i;}printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。

C语言程序设计 第四次作业

C语言程序设计 第四次作业

C语言程序设计第四次作业C语言是一种广泛应用于系统软件和应用软件开发的高级程序设计语言。

在C语言程序设计的第四次作业中,我们将继续深入研究C语言的各种特性和技巧,以提升我们在程序设计方面的能力。

一、循环结构的应用通过使用循环结构,我们可以重复执行一段代码,从而提高程序的效率。

在第四次作业中,我们将学习如何使用循环结构来解决实际问题。

1. 实现一个计算阶乘的程序阶乘是指从1乘到一个给定的正整数的连乘积。

我们可以使用循环结构来实现计算阶乘的程序。

以下是一个简单的示例:```c#include <stdio.h>int main() {int number, i;unsigned long long factorial = 1;printf("输入一个正整数:");scanf("%d", &number);for(i = 1; i <= number; i++) {factorial *= i;}printf("%d 的阶乘是 %llu\n", number, factorial);return 0;}```2. 打印九九乘法表九九乘法表是一个常见的数学模式,我们可以使用循环嵌套的方式打印出九九乘法表。

以下是一个简单的示例:```c#include <stdio.h>int main() {int i, j;for(i = 1; i <= 9; i++) {for(j = 1; j <= i; j++) {printf("%d * %d = %d\t", j, i, i * j);}printf("\n");}return 0;}```二、函数的使用函数是C语言程序设计中重要的组成部分,它们将一系列的代码进行封装,以达到代码复用和模块化的目的。

在第四次作业中,我们将学习如何使用函数来改进程序的结构。

C语言第四次作业(课堂PPT)

C语言第四次作业(课堂PPT)

了就不需要再打印了,所以是从s1[i-2]+1开始而不是s1[i-2]*/
{sum++;s2[sum]=j;}
flag=0;
}
}
s2[sum+1]=‘\0’; /*在字符串的最. 后放一个’\0’表示结束*/
8
}
寄语:这个题写起来比较繁琐。可 能理解起来有些困难。有能力的同 学可以分步调试一下来查看结果。 实在不会的话就去中408找我吧~
}
}
}
.
13
由于题目难度增加,可能有些程序 不能够在一页以内打完。所以可能 看起来稍微费劲,见谅~
.
14
11级第四次作业---魔方阵4.【问题描述】输入一个自然数N(1≤N≤9), 要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位 置上的数字从外向中心逐渐增大。 N=3时:
11111 12221 12321 12221 11111 N=4时:
scanf("%s",s);
scanf("%d",&m);
n=strlen(s);/*这里是上面string.h中的函数,就是求s的长度的意思*/
for (i=1;i<=m;i++)/*总共删m个数*/
{
for (j=0;j<=n-1;j++)/*从头到尾扫描*/
{
if (s[j]>s[j+1])/*如果这个数比下一个数大那么这个数例如将a-d扩展为abcd。该函
数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与-a-
z等类似的情况。在main函数中测试该函数:从键盘输入包含缩

C语言程序设计形考任务4

C语言程序设计形考任务4

一、选择题(共30分,每小题2分)题目1假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。

选择一项:a. struct BOOK *x=malloc(book);b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;正确答案是:struct BOOK *x=malloc(book);题目2假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。

选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;正确答案是:struct BOOK *x=&book;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选择一项:a. 句点b. 冒号c. 分号d. 逗号正确答案是:分号题目4假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。

选择一项:a. 8b. 10c. 12d. 16正确答案是:16题目5假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。

选择一项:a. 4b. 8c. 12d. 16正确答案是:8题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选择一项:a. x.ab. x->ac. x(a)d. x{a}正确答案是:x->a题目7与结构成员访问表达式等价的表达式为()。

国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案

国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案

国家开放大学电大《C语言程序设计》网络课形考任务4作业及答案形考任务4一、选择题(共30分,每小题2分)题目1假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。

选择一项:a. struct BOOK *x=malloc(book);题目2假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。

选择一项:b. struct BOOK *x=&book;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选择一项:c. 分号题目4假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。

选择一项:d. 16题目5假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。

选择一项:b. 8反馈Your answer is correct.题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。

选择一项:b. x->a题目7与结构成员访问表达式等价的表达式为()。

选择一项:c. (&x)->name题目8假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。

选择一项:b. struct AA*题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()。

选择一项:b. p->next=f和f=p题目10标准输入设备键盘的文件流标识符是()。

选择一项:a. stdin题目11表示文件结束符的符号常量为()。

选择一项:c. EOF题目12C语言中打开一个数据文件的系统函数为()。

C程序设计作业

C程序设计作业

第一章作业答案:一,59,14.4,28.e二1小题,592,15一、将数89、20.25、40.875用十六进制表示二、填空1.在C语言中,数值常量0x3b的十进制值是。

2.字母f的ASCII码为十进制数___________。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、若有以下类型说明char a; int b; float c; double d;则表达式a*b+d-c的结果类型是(A )A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C )正确答案是100,45A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是 C 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为 C 。

A) 12 B) 11 C)不确定的值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( C )A下划线B %C数字D字母8、下面四个选项中,均是合法整型常量的是(D )A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、若x为int型变量,则执行以下语句后x= C 。

C语言 第四次作业

C语言 第四次作业

第四次作业
1. 首先定义一个点类Point,其私有成员为其坐标X,Y。

设计构造函数,拷贝构造函数,析构函数(可以什么都不做,只打印信息,表示其被调用),设置新值函数Set, 打印成员值函数Print。

再定义一个线类Line,线类是在公有继承点类的基础上,新增私有成员斜率S,并设计构造函数,拷贝构造函数,析构函数(可以什么都不做,只打印信息,表示其被调用),设置新值函数Set, 打印成员值函数Print以及其它你认为对访问此Line类对象有用的成员函数。

并用此Line类定义对象,调用所有成员函数。

尤其是考察构造函数的调用顺序。

2. 若上题中基类Point的私有成员X,Y改为保护成员属性,利用其性质,请重写整个程序,尽量简化代码,提高效率。

c语言-选择结构程序设计实验报告4范文

c语言-选择结构程序设计实验报告4范文

实验报告实验题目:选择结构程序设计实验目的:(1)了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。

(2)学会正确使用逻辑运算算符和逻辑表达式。

(3)熟练掌握if语句的使用(包括if语句的嵌套)。

(4)熟练掌握多分支选择语句——switch语句。

(5)结合程序掌握一些简单的算法。

(6)进一步学习调试程序的方法。

实验内容:本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。

(1)有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113)101(12)1(x x x x x x y 输入x 的值,输出y 相应的值。

用scanf 函数输入x 的值,求y值(第四章第六题) 运行程序,输入x 的值(分别为x<1、101<≤x 、10≥x 这三种情况),检查输出y 值是否正确。

答:1)调试通过的程序清单如下:#include<stdio.h>void main(){ int x,y;printf("请输入X:");scanf("%d",&x);if(x<1)y=x;else if(x<10)y=2*x-1;程序设计基础实验报告――选择结构程序设计else y=3*x-11;printf("y=%d\n",y);}3)调试过程出现的问题说明及处理方法:编译提示信息如下:Compiling...c4_4.cF:\_选择结构程序设计\第四次实验\c4_4.c(10) : error C2059: syntax error : 'bad suffix on number'F:\_选择结构程序设计\第四次实验\c4_4.c(10) : error C2146: syntax error : missing ';' before identifier 'x'F:\_选择结构程序设计\第四次实验\c4_4.c(10) : warning C4552: '-' : operator has no effect; expected operator with side-effect F:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2181: illegal else without matching ifF:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2059: syntax error : 'bad suffix on number'作者:花开2011年11月2日F:\_选择结构程序设计\第四次实验\c4_4.c(11) : error C2146: syntax error : missing ';' before identifier 'x'F:\_选择结构程序设计\第四次实验\c4_4.c(11) : warning C4552: '-' : operator has no effect; expected operator with side-effect 执行cl.exe 时出错.c4_4.obj - 1 error(s), 0 warning(s)原因分析:由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。

《C程序设计》作业参考答案(1-4章)

《C程序设计》作业参考答案(1-4章)

第1章C语言概述习题(P13):1.3 写出一个C程序的构成。

答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。

1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。

答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。

# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。

C语言程序设计下mooc答案

C语言程序设计下mooc答案

2016.03.28—06.30 北京理工大学 MOOCC语言程序设计(下)网上作业答案第一周编程作业1、求最大公约数和最小公倍数(15分)题目内容:编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。

输入格式:两个正整数输出格式:最大公约数和最小公倍数输入样例:12,40[回车]输出样例:最大公约数:4[回车]最小公倍数:120[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int fun1(int m,int n){int r;r=m%n;return r==0?n:fun1(n,r);}int fun2(int m,int n){int t;t=m*n/fun1(m,n);return t;}int main(){ int t,m,n;scanf("%d,%d",&m,&n);if(m<n){t=m;m=n;n=t;}printf("最大公约数:%d\n",fun1(m,n));printf("最小公倍数:%d\n",fun2(m,n));return 0;}2、排序并插入(15分)题目内容:编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。

输入格式:9个整数和1个整数输出格式:10个整数输入样例:2,3,1,5,6,76,89,31,90[回车]7[回车]输出样例:1,2,3,5,6,7,31,76,89,90[回车]时间限制:500ms内存限制:32000kbCode:#include <stdio.h>int main(){int t,j,i,n[10];for(i=0; i<9; i++){scanf("%d", &n[i]);if(i<8) scanf(",");}scanf("%d",&n[9]) ;for(i=0;i<9;i++){for(j=0;j<= 8-i;j++){if(n[j] > n[j+1]){t = n[j];n[j] = n[j+1];n[j+1] = t;}}}for(i=0;i<10;i++){printf("%d",n[i]);if(i<9) printf(",");}return 0;}第二周编程作业1、最大公约数(15分)题目内容:输入两个整数m,n,用递归算法实现计算两个数的最大公约数。

C语言程序设计教程第四章练习题解析(1)

C语言程序设计教程第四章练习题解析(1)

单选题1、关于C语言中的函数,下列描述正确的是()A。

函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的嵌套均不可以嵌套D.函数的定义和函数的调用均不可以嵌套答案:B解析:函数的定义不可以嵌套,但函数的调用可以嵌套2、定义一个函数:exce((v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为()个A.3B。

4C。

5D.6答案:A解析:(v1,v2),(v3,v4,v5)和v6一共三个实参3、关于C语言中print()函数与scanf()函数,下列描述中正确的是()A。

printf()函数可以向任何地方输出数据B。

printf()只向控制台输出数据C。

scanf()只能输入英文字母和数字D.scanf()函数可以识别输入的空格答案:B解析:printf()是向控制台输出的函数4、在C语言中,内部函数需要添加的关键字是()A.externB.staticC.thisD。

auto答案:B解析:在定义内部函数时,需要在函数的返回值类型前面添加static关键字(又称为静态函数)。

5、当调用时,会调用内部函数A。

当调用时,会调用内部函数B。

当调用时,会调用外部函数C。

当调用时,会调用两次,先调用内部函数再调用外部函数D。

都不调用,会报错答案:A解析:当内部函数与外部函数重名时,会优先调用内部函数6、在C语言中,声明外部函数需要添加的关键字是( )A。

externB。

staticC。

thisD.auto解析:声明外部函数的方式是在函数的返回值类型前面添加extern关键字7、关于C语言中的局部变量,下列描述中错误的是( )A.局部变量就是在函数内部声明的变量B.局部变量只在函数内部有效C.局部变量只有当它所在的函数被调用时才会被使用D。

局部变量一旦被调用,其生存周期持续到程序结束答案:D解析:当函数调用结束时局部变量就会失去作用8、关于C语言中的全局变量,下列描述中正确的是()A。

VC语言程序设计第4次实验_菜单、工具栏和状态栏

VC语言程序设计第4次实验_菜单、工具栏和状态栏
(6)保留默认的ID号IDC_CURSORI,用图形编辑器绘制光标图形,指定光标热点位置为(15,15)设计的光标如图T12.4所示。
5.工具按钮的更新
工具按钮的更新有如下步骤。
(1)为CMainFrame类添加一个BOOL型的成员变量m_bIsTest,在CMainFrame类构造函数中将m_bIsTest的初值设为FALSE
return TRUE;
}
(5)编译运行,看看主框架窗口的大小是否为屏幕的1/4大小,且移动到屏幕的右上角。
3.添加并设计一个工具按钮
添加并设计一个工具按钮的具体步骤如下。
(1)将项目工作区窗口切换到ResourceView页面,双击“Toolbar”项中的IDR_MAINFRAME,打开工具栏资源。
(2)在字符串列表的最后一行的空项上双击鼠标左键,弹出一个对话框,在该对话框中,指定一个字符串标识符ID_TEST_PANE,设置字符串值为“你在(1024,1024)处双击鼠标”,注意该字符串的字符个数将决定添加的状态栏窗口的大小。添加一个字符串资源的结果如图T12.5所示。
(3)关闭字符串属性对话框。
BOOL CmainFrame::onSetCursor(CWnd*pWnd,UINT nHitTest,UINT message)
{
BOOL bRes=CframeWnd::OnSetCursor(pWnd,nHitTest,message);
if(nHitTest==HTCLENT)&&(m_bIsTest))
Str.Format(“你在(%b,%d)处双击鼠标,”point..x,point.y);//格式化文本
else
Str.EmptyO;//为空字符
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
课程名称C语言程序设计
实验项目顺序结构程序设计
实验仪器___________________________
系别__________自动化系__________
专业_____自动化__________
班级/学号自动化1907/2019010737____学生姓名________钱仪嘉_____________
实验日期_________2019.11.28________
成绩_______________________
指导教师__________尤建清__________
一、实验目的
(1)掌握算术表达式、赋值表达式、关系表达式和逻辑表达式的计算。

(2)掌握常见数学库函数的使用。

(3)掌握C语言中基本输入、输出函数的使用方法。

(4)掌握选择结构程序设计的一般方法
二、实验内容
1.第一题
实验题目:编写自定义函数,函数的功能是:将华氏温度F转化为摄氏温度C。

公式为:C=5/9(F-32).编写程序,输出一个华氏温度与摄氏温度对照表,其中华氏温度值为32~100,步长为4。

#include<stdio.h>
double convent(int f);
int main()
{int f;
float c;
printf("华氏温度\t摄氏温度\n");
for(f=32;f<=100;f=f+4)
{
c=convent(f);
printf("\t%d\t%10.2f\n",f,c); }
}
double convent(int f)
{
double c;
c=5.0/9*(f-32);
return c;
}
实验题目:编写自定义函数,该函数有一个整型参数,函数的功能是当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时返回值为1。

编写程序从键盘输入任意10整数,统计其中奇数和偶数分别多少个。

判断奇偶性使用自定义函数实现。

#include<stdio.h>
int isEven(int n);
int main()
{
int i,n,odd=0,even=0;
printf("请输入10个整数:");
for(i=1;i<=10;i++)
{
scanf("%d",&n);
if(isEven(i)==1)odd++;
else even++;
}
printf("其中有%d个偶数\n",even);
printf("其中有%d个奇数\n",odd) ;
return 0;
}
int isEven(int n)
{
if(n%2==0)
return 0;
else return 1;
}
实验题目:输出一个计算圆的面积和周长的表,半径为10~100,步长为10,计算面积和周长分别使用自定义函数来实现。

#include<stdio.h>
double area(double r);
double perimeter(double r);
int main()
{
double r,s,c;
printf("半径\t面积\t周长\n");
for(r=10;r<=100;r=r+10)
{
s=area(r);
c=perimeter(r);
printf("%.2lf ",r);
printf("%.2lf ",s);
printf("%.2lf\n",c);
}
}
double area(double r)
{double s;
s=3.14*r*r;
return s;
}
double perimeter(double r)
{double c;
c=2*3.14*r;
return c;
}
实验题目:编写程序,其功能为寻找三个数中的中间数(中间数是一组数中其值的大小位于中间的数)。

要求定义一个函数,实现从三个整数中寻找中间数的功能,函数原型为: int mid(int a,int b,int c);函数返回值为ABC三个数中大小位于中间的那个数。

#include<stdio.h>
int max(int,int);
int min(int,int);
int mid(int,int,int);
int main()
{
int a,b,c;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
printf("The result is %d",mid(a,b,c));
return 0;
}
int max(int a,int b)
{return (a>b)?a:b;
}
int min(int a,int b)
{return (a<b)?a:b;
}
int mid(int a,int b,int c)
{
int m,n,sum;
sum=a+b+c;
m=max(max(a,b),c);
n=min(min(a,b),c);
return (sum-m-n);
}
实验题目:编程实现一个输入指定范围内的整数的函数getint,其完整的函数原型为:int getint(int min,int max);,它负责接收用户的输入,进行验证,保证接收的一定是一个介于min和max之间([min,max]区间内)一个整数并最后返回该整数。

如果用户输入不合法则,会提示继续输入,直到输入合法时为止,要求编写完整的程序,并测试你所写的getint函数。

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int getint(int,int);
int main()
{
int a,b,max,min;
srand(time(NULL));
a=rand()/100; b=rand()/100;
max=a>b?a:b; min=a<b?a:b;
printf("及输入的介于%d和%d之间的数为:%d",min,max,getint(min,max));
return 0;
}
int getint(int min,int max)
{
int n;
while(1)
{printf("请输入[%d..%d]间的一个整数:",min,max);
scanf("%d",&n);
if((n>min)&&(n<max))
return n;
}
}
实验题目:编写自定义函数,该函数有一个整数参数,函数的功能是:判断这个整数是否为素数,函数的返回值为判断结果。

编写程序,求50~100之间的所有素数。

#include<stdio.h>
int sushu(int n)
{
int i;
for(i=2;i<=n-1;i++)
{
if(n%i==0)break;
else
{ } }
if(i==n)
{
printf("%d ",n);
}
return 0;}
int main()
{ int n,i;
for(i=50;i<=100;i++)
{
sushu(i); }
return 0;
}。

相关文档
最新文档