hfut分支程序设计作业C++
- 格式:doc
- 大小:25.00 KB
- 文档页数:1
安徽大学实验平台C语言答案实验三C基本数据类型及运算1. 编程根据需要定义相关变量键盘输入10.0、20.6、5.0三个实数分别赋给相关三个变量输出该3个变量的和s、乘积p和平均值a。
2. 编程输入球的半径计算球体表面积和球体积。
3. 编程定义6个变量通过键盘将“10 10 40000 a 3.14 hello”这六个值分别赋给相应变量然后在屏幕上输出变量的值每行输出一个变量。
4. 编程从键盘接收1个字符给变量s1 1个字符串允许带有空格给字符数组s2 输出字符变量s1的ASCII码值及字符数组s2中的字符串。
5. 编程从键盘输入二个整数分别赋给整型变量a、b 将它们按由小到大的顺序输出。
6. 编程调用标准库函数sin x 计算6800的正弦值此题为选做。
7. 编程键盘输入一个实数赋给变量x 计算y=x*x*x+x*x+x 的值分别输出y值、y值的整数部分和小数部分此题为选做。
8. 编程键盘输入四个整数分别赋给整型变量a、b、c、d 用三目运算方法将它们按由大到小的顺序输出此题为选做。
1. #includemain(){float x,y,z,s,p,a;scanf("x=%fy=%fz=%f",&x,&y,&z);s=x+y+z;p=x*y*z;a=s/3;printf("s=%f,p=%f,a=%f",s,p,a);}2. #includemain(){float r,s,v;printf("input r");scanf("%f",&r);s=4*3.14*r*r;v=4/3*3.14*r*r*r;printf("s=%f,v=%f",s,v);}3. #includemain(){int a,b;long c;char d,st[6];float e;scanf("%d%d%ld%c%f%s",&a,&b,&c,&d,&e,st);printf("a=%d\n,b=%d\n,c=%d\n,d=%c\n,e=%f\n,ch=%s",a, b,c,d,e,st); }4. #includemain(){ char s1,s2[6];scanf("%c%s",&s1,s2); printf("s1=%d,s2=%s",s1,s2); }5. #includemain(){ int a,b;scanf("a=%db=%d",&a,&b); if (a<b)< p="">printf("a=%db=%d",a,b); elseprintf("b=%da=%d",b,a);}6. #include#includemain(){float a,b;scanf("%f",&a);b=sin(a);printf("%f",b);}7. #includemain(){float x,y,b;int a;scanf("%f",&x);y=x*x*x+x*x+x;a=(int)y;b=y-a;printf("%f\n%d\n%f\n",y,a,b);} 实验四C分支结构程序设计1. 编程从键盘输入一个字符如是大写字母则输出相应小写字母如是小写字母则原样输出其它字符输出“Not letter!”。
用起泡法对10个数排序#include <stdio.h>main(){ void sort(int array[],int n);int a[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);sort(a,10);for(i=0;i<10;i++)printf(“%4d”,a[i]); }void sort(int array[],int n){ int i,j,t;for(i=0;i<n-1;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; } }用选择法对10个数排序#include <stdio.h>main(){ void sort(int array[],int n);int a[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);sort(a,10);for(i=0;i<10;i++)printf(“%4d”,a[i]); }void sort(int array[],int n){ int i,j,k,t;for(i=0;i<n-1;i++){ k=i;for(j=i+1;j<n;j++)if(array[j]<array[k]) k=j; t=array[k];array[k]=array[i];array[i]=t;}} 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程总成绩、平均分数)。
# include <stdio.h>struct student{ char num[6];char name[8];int score[3];float avr;}stu[10];main(){int i,j,max=0,maxi=0,sum=0;float average=0;for(i=0;i<10;i++){ scanf(“%s%s”,stu[i].num,stu[i].name);for(j=0;j<3;j++)scanf(“%d”,&stu[i].score[j]);}for(i=0;i<10;i++){ sum=0;for(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].avr=sum/3.0;average+=stu[i].avr;if(sum>max) { max=sum; maxi=i; }}average/=10;printf(“average=%6.2f\n”,average); printf(“The highest score is:%s,%s,%d,%f”, stu[maxi].num,stu[maxi].name,max,stu[ i].avr);}有若干个学生的成绩(每个学生有4门课程),要求在用户输入学生序号以后,能输出该学生的全部成绩。
合肥工业大学汇编程序设计实验报告完整代码合肥工业大学计算机与信息学院实验报告课程:汇编语言程序设计专业班级:信息安全13-1学号:2013211869姓名:马骏实验一Debug程序的使用一.实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。
2、掌握8086/8088的寻址方式及多字节数据的处理方法。
二.实验内容1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H 和DS:0204H两个单元中。
2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。
要求:本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
三.实验过程和程序实验将”12345678H”和”FEDCBA98H”分别送入起始地址为DS:200H和DS:204H 的两个单元中。
还包含两个附加题,一是从DS:0000H 开始的5个16 位带符号数分别记为x,y,z,v,w,E命令初始化为:540,1,-1,1080,0, 试求w=(v-(x*y+z-540))/x,二是统计bx中1的个数四.实验结果(包括必要的截图)将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H 和DS:0204H两个单元中。
直接寻址方式实现数据相加寄存器间接寻址实现数据相加附加题一:从DS:0000H开始的 5 个16 位带符号数分别记为x,y,z,v,w,用E 命令初始化为:540,1,-1,1080,0, 试求w=(v-(x*y+z-540))/x 附加题二:完成BX中1 的个数的统计。
五.实验体会通过本次实验,了解了使用debug的各种指令。
山东理工大学成人高等教育程序设计基础(C语言)复习题一、填空题1、一个C程序总是从函数开始执行,并在其中结束。
2、C语言的函数由和两部分组成。
3、在C语言中,字符串“ABDEF”的长度是。
4、C语言的一个源程序有且只有一个函数,C函数由、两部分组成。
5、C语言的数据类型转换有两种,它们是自动转换和。
6、C语言变量名中的字符有之分。
7、求a、b较大值的条件表达式是。
8、表达式5+6<8 的值是。
9、已知整型变量i的值是24,则表达式i%5的值是10、C语言数组下标的最小值是。
11.C语言的标识符只能由字母、数字和组成。
12.有符号整数在内存中是以二进制码形式存储的。
13.若有int n=3.96;则n的结果为。
二、判断题1.一个C语言程序总是从main()函数开始执行的。
( )2.C语言中不区分字母的大小写。
( )3.'a'和'\n'都是字符型常量。
( )4.5%3的结果是2。
( )5.在C语言中表示逻辑运算结果时,以1表示真,以0表示假。
( )三、阅读理解程序,写出输出结果1、设有以下程序:main( ){ int i, a[10];for (i=0;i<10;i++) a[i]=i ;printf(“%d %d %d”,a[1],a[2],a[3]); }输出结果:2、设有以下程序:main( ){ int i=1,sum=0;while (i<=5) { sum=sum+i; i++;}printf(“i=%d, sum=%d” ,i,sum);}输出结果:3、设有以下程序:main( ){ int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m; b=(*p1)/(*p2)+7;printf(“a=%d,b=%d”,a,b);}输出结果:4、设有以下程序:main(){ int x,y,m,n; m =10; n=13; x=--m; y=n--;printf(“%4d%4d%4d%4d”,m,n,x,y);}输出结果:5、main() 运行结果为:{int f[6]={1,2,3,4,5,6},i;for(i=5;i>=0;i--)printf("%d\n",f[i]);}6、main() 运行结果为:{int a=6,b=3,t;t=a;a=b;b=t;printf("%d,%d\n",a,b);}四、程序填空1、用子函数的方式求两个数的和。
2022年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、2.填空题(10题)1. 以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整型数据,成员变量link是指向自身结构体的指针,请将定义补充完整。
struct node} int info;【】link;};2. 算法的基本特征是可行性、确定性、【】和拥有足够的情报。
3. 下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。
main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%x\n",p);printf("%x\n,p+9);}4. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。
请填空。
int mystrlen(char*str){ int i;for(i=0;【】!='\0';i++);return(i);}5. 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。
6. 算法执行过程中所需要的基本运算次数称为算法的______。
7. 本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。
void bubble(int a[],int n) {int i,j,max,temp;max=n-1;do{j=0;for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp;j=i;} max=j;}while(( ));}8. 软件是程序、数据和【】的集合。
9. 用树形结构表示实体之间联系的模型是( )。
10. 如下程序片段:in a,b,c;printf("input a,b,c:");scanf("a=%d,b=%d,c=%d",&a,&b,&c);欲使输出结果为1、2、3(分别对应于a、b、c),输入数据的正确形式为【】。
安徽继续教育在线 C语言程序设计作业题库1(4分)、C语言源程序文件的缺省扩展名为()。
A、cppB、exeC、objD、C2(4分)、字符常量'\n'和'\\'对应的ASCII码为()。
A、110和92B、10和92C、92和92D、78和473(4分)、若x=25,y=10,则计算y=x++表达式后,x和y的值分别为()。
A、26和25B、25和26D、26和264(4分)、在VC环境下,为运行一个程序而建立的工作区文件的扩展名为()。
A、objB、exeC、dswD、dsp5(4分)、在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
A、mainB、MAINC、nameD、FuntionB、mainC、voiDD、intmain7(4分)、下面语句中,正确的是()A、printf("%c\n","stdent");B、printf("%c\n""c");C、printf("%s\n","hello");D、printf("%s\n",&a);8(4分)、在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
A、mainB、MAINC、nameD、FuntionB、34.025e1C、3.4025e2D、0.34025e310(4分)、若x=5,y=10,则计算y*=++x表达式后,y的值为()。
A、50B、40C、60D、5511(4分)、常数120和-4.205的类型为()。
A、整形和双精度型B、短整形和单精度型C、长整形和双精度型D、整形和单精度型12(4分)、程序运行中需要从键盘输入多于一个数据时,各数据之间应使用()符号作为分隔符。
A、空格或逗号B、逗号或回车C、回车或分号D、空格或回车13(4分)、一条简单语句是以()字符作为结束符的。
安徽大学C语言实验平台作业答案Company number:【0089WT-8898YT-W8CCB-BUUT-202108】实验三C基本数据类型及运算1. 编程:根据需要定义相关变量,键盘输入、、三个实数分别赋给相关三个变量,输出该3个变量的和s、乘积p 和平均值a。
2. 编程:输入球的半径,计算球体表面积和球体积。
3. 编程:定义6个变量,通过键盘将“10,-10, 40000, a,,hello”这六个值分别赋给相应变量,然后在屏幕上输出变量的值(每行输出一个变量)。
4. 编程:从键盘接收1个字符给变量s1,1个字符串(允许带有空格)给字符数组s2,输出字符变量s1的ASCII 码值及字符数组s2中的字符串。
5. 编程:从键盘输入二个整数分别赋给整型变量a、b,将它们按由小到大的顺序输出。
6. 编程:调用标准库函数sin(x)计算6800的正弦值(此题为选做)。
7. 编程:键盘输入一个实数赋给变量x,计算 y=x*x*x+x*x+x 的值,分别输出y值、y值的整数部分和小数部分(此题为选做)。
8. 编程:键盘输入四个整数分别赋给整型变量a、b、c、d,用三目运算方法将它们按由大到小的顺序输出(此题为选做)。
1.#include<>main(){float x,y,z,s,p,a;scanf("x=%fy=%fz=%f",&x,&y,&z);s=x+y+z;p=x*y*z;a=s/3;printf("s=%f,p=%f,a=%f",s,p,a);}2.#include<>main(){float r,s,v;printf("input r");scanf("%f",&r);s=4**r*r;v=4/3**r*r*r;printf("s=%f,v=%f",s,v);}3.#include<>main(){int a,b;long c;char d,st[6];float e;scanf("%d%d%ld%c%f%s",&a,&b,&c,&d,&e,st);printf("a=%d\n,b=%d\n,c=%d\n,d=%c\n,e=%f\n,ch=%s",a,b,c,d,e,st);}4.#include<>main(){ char s1,s2[6];scanf("%c%s",&s1,s2);printf("s1=%d,s2=%s",s1,s2);}5.#include<>main(){ int a,b;scanf("a=%db=%d",&a,&b);if (a<b)printf("a=%db=%d",a,b);elseprintf("b=%da=%d",b,a);}6.#include<>#include<>main(){float a,b;scanf("%f",&a);b=sin(a);printf("%f",b);}7.#include<>main(){float x,y,b;int a;scanf("%f",&x);y=x*x*x+x*x+x;a=(int)y;b=y-a;printf("%f\n%d\n%f\n",y,a,b);}实验四C分支结构程序设计1. 编程:从键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则原样输出;其它字符输出“Not letter!”。
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
安徽理工大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪个是C语言中的关键字?A. intB. INTC. IntegerD. integer答案:A2. C语言中,用于定义一个整型变量的关键字是:A. varB. integerC. floatD. int答案:D3. 下列哪个选项不是C语言的标准输入输出函数?A. printf()B. scanf()C. coutD. getchar()答案:C4. 在C语言中,用于定义一个字符型变量的关键字是:A. charB. stringC. characterD. letter答案:A5. 在C语言中,哪个运算符用于求两个数的和?A. +B. -C. *D. /答案:A6. 下列哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:B7. 在C语言中,下列哪个选项表示逻辑与运算?A. &&B. ||C. !D. =答案:A8. C语言中,下列哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = "Hello";答案:A9. 下列哪个选项是C语言中正确的数组定义方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:A10. 在C语言中,下列哪个选项是正确的函数定义方式?A. int function(int x) { return x; }B. int function(int x) { return x; }C. int function(int x) { return x; }D. int function(int x) { return x; }答案:B二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量的正确语法是:int _______; 答案:变量名2. 如果要输出一个字符串"Hello, World!",应该使用函数________。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。
A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。
程序设计基础(实验八)学号:姓名:专业:1.目的:掌握结构体,加深联合与枚举类型的理解。
2 题目:(1)建立结构student用于表示学生信息,如姓名、年龄、性别、成绩等,定义两个操作结构student的子函数input和display,函数input用于输入n个学生的有关信息,要求在input函数中利用new函数进行申请内存,将信息存储在这个空间上,display用于显示在这个空间上的信息。
(2)定义一个单链表,链表节点内只需保存该链表的名字或者编号,完成该单链表的建立与访问(分别利用不同的子函数)。
(3)使用枚举类型定义月份,并编写一个程序,根据用户输入的年份,输出该年各月的天数。
3 程序结果贴图(注意标明对应题号和进行简短说明)图1 题目(1)程序输入数据图2 题目(1)程序输出数据图3 题目(2)程序运行截图图4 题目(2)程序运行截图图5 题目(2)程序运行截图(正序,C版本)图6 题目(3)程序运行截图4 编程过程中碰到的问题及总结5 附源代码://1#include <iostream>#include <cstdio>//姓名、年龄、性别、成绩typedef struct student{char name[50];int y;char sex[10];int grade;}s;using namespace std;s *input(s *,int);s *display(s*,int);int main(){freopen("x1.in","r",stdin);freopen("x1.out","w",stdout);int n;s *stu;cin>>n;stu=input(stu,n);display(stu,n);return0;}s *input(s* st,int n){st=new s[n];for(int i=0;i<n;i++){cin>>st[i].name>>st[i].y>>st[i].sex>>st[i].grade;}return st;}s *display(s* st,int n){for(int i=0;i<n;i++){cout<<st[i].name<<" "<<st[i].y<<" "<<st[i].sex<<" "<<st[i].grade<<endl;}delete st;}//2#include <iostream>using namespace std;struct node{int data;node *next;};node *cr(int);void display(node *);int main(){int n;cin>>n;node *p=cr(n);display(p);return0;}node *cr(int n){node *tmp=NULL,*head=NULL;int num;cin>>num;head=new node;head->data=num;head->next=NULL;for(int i=0;i<n-1;i++){cin>>num;tmp=new node;tmp->data=num;tmp->next=head;head=tmp;}return head;}void display(node *s){node *tmp=s;while(tmp){cout<<tmp->data<<" "; tmp=tmp->next;}}//_front C version#include <stdio.h>#include <stdlib.h>typedef int Datatype;typedef struct Node{Datatype data;struct Node* next;}Node,*PNode;PNode Init(int);void display(Node*);int cmp(const void*,const void*);int main(){srand(time(NULL));int n;scanf("%d",&n);Node* p=Init(n);display(p);//qsort(p,n,sizeof(int),cmp);//display(p);return0;}PNode Init(int n){Node* tmp=NULL,* tail=NULL,* head=NULL;int num;num=rand()%(10000-100)+100;head=(PNode)malloc(sizeof(Node));head->data=num;head->next=NULL;tail=head;for(int i=0;i<n-1;i++){num=rand()%(10000-100)+100;tmp=(PNode)malloc(sizeof(Node));tmp->data=num;tmp->next=NULL;tail->next=tmp;tail=tmp;}return head;void display(Node* s){PNode tmp=s;while(tmp){printf("%d ",tmp->data);tmp=tmp->next;}printf("\n");}/*int cmp(const void* a,const void* b) {return *(int*)a-*(int*)b;}*///3#include <iostream>using namespace std;enum Moth{January,February,March,April,May,June,July,August ,September,October,Novermber,December};void leap(int);int main(){leap(2000);cout<<endl;leap(1998);cout<<endl;leap(2010);cout<<endl;leap(2018);return0;void leap(int y){if((y%400==0)||((y%4==0)&&(y%100!=0))){cout<<January+1<<" = 31"<<endl;cout<<February+1<<" = 29"<<endl; cout<<March+1<<" = 31"<<endl;cout<<April+1<<" = 30"<<endl;cout<<May+1<<" = 31"<<endl;cout<<June+1<<" = 30"<<endl;cout<<July+1<<" = 31"<<endl;cout<<August+1<<" = 31"<<endl;cout<<September+1<<" = 30"<<endl; cout<<October+1<<" =31"<<endl;cout<<Novermber+1<<" =30"<<endl; cout<<December+1<<" = 31"<<endl;}else{cout<<January+1<<" = 31"<<endl;cout<<February+1<<" = 28"<<endl; cout<<March+1<<" = 31"<<endl;cout<<April+1<<" = 30"<<endl;cout<<May+1<<" = 31"<<endl;cout<<June+1<<" = 30"<<endl;cout<<July+1<<" = 31"<<endl;cout<<August+1<<" = 31"<<endl;cout<<September+1<<" = 30"<<endl; cout<<October+1<<" =31"<<endl;cout<<Novermber+1<<" =30"<<endl; cout<<December+1<<" = 31"<<endl;}}。
西安交大C程序设计作业Newly compiled on November 23, 2020西安交通大学实验报告课程__计算机程序设计__实验名称_____函数______第 1 页共 18 页系别____ _______ 实验日期 2014 年 3月 28日专业班级____组别_____________ 实验报告日期 2014 年 3 月 29日姓名___ _______学号_ _报告退发 ( 订正、重做 )同组人_________________________________ 教师审批签字一、实验目的掌握函数的概念,使用函数的优越性,定义函数的方法以及调用函数的方法。
二、实验内容(一)第一题:编写字符串反转函数mystrrev(),该函数的功能是将指定字符串中的字符顺序颠倒排列。
然后再编写主函数验证之。
1.源程序代码:#include<iostream>#include<cstring>using namespace std;void mystrrev(char string[]);验结果:由于函数中有“for(int i=0;i<m/2;i++)”的语句,为避免该循环条件不准确,对奇数和偶数个的字符均进行了检测,并有对含空格和符号的字符串的检测:(1)奇数:(2)偶数:(3)含空格字符串:3.问题分析:(1)起初没有用“.get”,不够全面;(2)如果一直执行到i=m的话,就等于反转两次又回到了原来的字符串顺序,因而要考虑只执行一半,而由于字符串长度有奇偶的问题,所以容易错误;(3)第一次编写时,没有写string[m]='\0';这使得输出结果混乱。
(二)第二题:编写一组求数组中最大元素和最小元素的函数。
其函数原型为:int imax(int array[],int count);int imin(int array[],int count);1.源程序代码:#include<iostream>using namespace std;int imax(int array[],int count);验结果:3.问题分析:(1)起初误将:cout<<"最大值为:"<<imax(num,n)<<endl;cout<<"最小值为:"<<imin(num,n)<<endl;写成imin、imax,不能执行。
[整理]合肥工业大学C语言题库程序设计合肥工业大学C语言题库程序设计第1题 (10.0分)/*------------------------------------------------【程序设计】--------------------------------------------------功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)------------------------------------------------*/#include <math.h>#include<stdio.h>double y(float x){/**********Program**********//********** End **********/}main(){float x;scanf("%f",&x);printf("y=%f\n",y(x));yzj();getch();}yzj(){FILE *IN,*OUT;int n;float i;double o;IN=fopen("in.dat","r");if(IN==NULL){printf("Read File Error"); }OUT=fopen("out.dat","w"); if(OUT==NULL){printf("Write File Error"); }for(n=0;n<10;n++){fscanf(IN,"%f",&i);o=y(i);fprintf(OUT,"%ld\n",o);}fclose(IN);fclose(OUT);}答案:----------------------double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);----------------------第2题 (10.0分)/*------------------------------------------------ 【程序设计】-------------------------------------------------- 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。
合肥工业大学2020—2021学年第1学期《汇编语言程序设计》考试试卷(A卷)(闭卷时间120分钟)院/系年级专业姓名学号1、简述计算机系统组成。
2、何为开中断和关中断。
关中断情况下,内中断能否被响应?不可屏蔽中断能否被响应?可屏蔽中断能否被响应?3、根据补码定义把下列十进制数表示为8位二进制补码。
(1) 64 (2) -244、用移位指令为主实现对AX中的无符号数乘以5,不考虑乘积可能超出16位。
5、下图为DEBUG调入的可执行程序,回答以下问题:(1)程序的起始物理地址是多少?结束地址是多少?(2)CS寄存器的值是什么?(3)程序的功能是什么?(4)写出查看DS:0处内容的DEBUG命令。
(5)程序中2处的INT 21指令执行后有什么结果?(6)如果要运行这个程序应该用什么DEBUG命令?(7)DEBUG命令-T=0 4 之后,寄存器AX、DS、DX的值是多少?6、画出数据在数据段中的存放情况,程序执行后,BX、DI、CX、DX寄存器中的内容是什么?程序如下:DA TA SEGMENTARRAY DW 20,30,40,20H,30H,-6BUFF DB ‘ABCD$’DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS, AXMOV BX, ARRAY+1MOV DI, OFFSET ARRAYMOV CX, [DI+5]MOV DL, BUFF+3MOV AH, 4CHINT 21HCODE ENDSEND START7、定义数据段,满足如下要求:(1)array为字符串变量:‘inspire a generation!’(2)data1 为十六进制数:0FEDCBAH(3)data2为二进制数:10101010B。
(4)data3为100个为零的字节变量。
(5)分配500个字的空间待用。
8、将AX和BX进行加、减、乘或除的运算,每种运算由用户从键盘上选择。
函授站:班级:姓名:学号:–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––山东理工大学成人高等教育面向对象程序设计试题(C)卷一、单选题(每小题2分,共20分)1.当需要把一个带初始化的变量重新定义为常量时,则应在该语句的前面加上关键字。
C A.static B.const C.continue D.extern2.假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为。
C A.n-1 B.n C.n+1 D.n+23.假定AB为一个类,则为该类的拷贝构造函数的声明。
CA.AB(AB x) B.AB(AB&)C.AB(AB *) D. AB&(AB &x)4.当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为。
CA.fstream fin(“A:xxk.dat”)B.ofstream fin(“A:xxk.dat”)C.ifstream fin(“A:xxk.d at”,ios::app)D.ifstream fin(“A:xxk.dat”,ios::nocreate)5. 在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
CA、intB、doubleC、voidD、char6、设x和y均为bool量,则x&&y为真的条件是。
CA. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假7、下面的哪个保留字不能作为函数的返回类型?。
CA. voidB. intC. newD. long8. _____是不正确的字符常量。
CA、'n'B、'1'C、"a"D、'101'9. 对于结构中定义的成员,其隐含访问权限为。
CA.public B.protected C.private D.static10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为。
2022年安徽省合肥市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
A.&.B.^C.||D.~2.下面C程序段中count++语句执行的次数为()A.15B.16C.31D.323.下列程序段的时间复杂度为()。
A.O(n)B.O(log2n)C.O(n3)D.O(n2)4.下列关系表达式中,结果为“假”的是()。
A.(3+4)>6B.(3!=4)>2C.3<=4||D.(3<4)=15.有以下程序:#include <stdio.h>int f1(int a){return a*3;}int f2(int * b){return *b *5;}main(){int x=3, y=5;printf(“%d ,%d\n”,f1(x),f2(&y));}程序的运行结果是()。
A.9 ,125B.9,25C.3,15D.3,456. 有以下程序#include<stdio.h>main(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序运行后的输出结果是______。
A.运行后报错B.6 6C.611D.5107.有以下程序:#include <stdio.h>#include <string.h>main(){printf(“%d\n”, strlen(“0\t\n\0C011\1”));}程序运行后的输出结果是()。
A.3B.13C.1D.08.sizeof(float)是()。
A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式9.需求分析的主要任务是()。
2022年安徽省合肥市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 有以下程序:程序执行后的输出结果是()。
A.45B.20C.25D.362.有以下程序(strcat函数用于连接两个字符串):#include <stdio.h>#include <string.h>main(){char a[20]=“ABCD\0EFG\0”,b[ ]=“UK”;strcat(a,b);printf(“%s\n”,a);}程序的运行结果是()。
B.ABCDE\0FG\0UKC.ABCDUKD.EFGUK3. 设有以下语句char chl,ch2;scanf("%c%C",&chl,&ch2);若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。
A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔4. 已知a、b、c为整型变量,若从键盘输入5<空格>6<空格>7<回车>,使a的值为5,b的值为6,c的值为7,则下列选项中正确的输入语句是( )。
A.scanf ("%3d%3d%3d",a,b,C);B.scanf ("%d%d%d",a,b,C);C.scanf ("%d%d%d",&a,&b,&c);D.scanf ("%d%d%d",&a,&b,&c);5. 下列程序段的输出结果是( )。
char a=9,b=020;prihtf("%o\n",~a&b<<1);A.100000B.8C.40D.776.线性表的顺序存储结构是一种()。
编写程序。
1.由键盘任意输入一个实型数据,判断其是正数还是负数。
2.由键盘任意输入一个整型数据,判断其是奇数还是偶数。
3.由键盘任意输入一个字符,判断其是大写字母、小写字母、数字字符还是其他字符。
4.由键盘任意输入一个年份,判断其是否为闰年。
5.由键盘任意输入一个成绩,判断其是优、良、中、及格还是不及格。
6.由键盘任意输入一个工资,计算应交纳的税额。
7.由键盘任意输入2个数据,找出其中的最大数。
8.由键盘任意输入3个数据,找出其中的最大数。
9.由键盘任意输入3个数据,找出其中的最大数和最小数。
10.由键盘任意输入3个数据,将它们按从小到大的顺序输出。
注意:
1.编程风格。
2.建立本人学号为名称的文件夹,将调试通过的程序文件存入此文件夹,上传到上传作业\李明\ 本人的班级名。
如:上传作业\李明\光信息1。