您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 12秋程序设计基础(C)离线作业答案
《程序设计基础(C)》作业第1章C语言的基本构成、程序调试题1.编辑、调试以下程序步骤1:在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-1.c,程序代码如下:#includestdio.h/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/intadd(intx,inty){intz;z=x+y;returnz;}intmain(){intadd(int,int);/*函数的说明,告诉系统在主函数中要调用add函数*/inta,b,c;/*变量的定义*/scanf(%d%d\n,&a,&b);c=add(a,b);/*函数调用*/printf(%d+%d=%d\n,a,b,c);/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/}请思考文件ex1-1.c由几个函数构成?由个函数构成调用了那几个系统函数?调用2个系统函数,分别是scanf和printf此程序中用到了哪几个保留字?哪几个用户自定义标识符?保留字:int,return自定义表示符:z,x,y,a,b,c步骤3:编译并运行程序,程序运行时输入两个整数,2040,观察程序运行的结果。20+40=602.编辑、调试以下程序步骤1:在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2.c步骤2:在文本编辑器中输入以下C程序#includestdio.h/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/#includeex1-2-2.cintmain(){intand(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/intor(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/inta,b,c;/*变量的定义*/scanf(%d%d,&a,&b);c=and(a,b);/*函数调用*/printf(%d&&%d=%d\n,a,b,c);/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/c=or(a,b);/*函数调用*/printf(%d||%d=%d\n,a,b,c);}步骤3:[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-2.c,源程序代码为:intand(inta,intb){intc;c=a&&b;returnc;}步骤4:[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-3.c,源程序代码为:intor(inta,intb){intc;c=a||b;returnc;}步骤5:点击编译图标,编译程序1-2.c步骤4:点击执行图标,执行程序1-2.c,当程序运行时,键盘输入2040,按回车。204020&&40=120||40=1您可以输入其它的整数,观察程序的执行结果。303&&0=03||0=0第2章输入输出程序设计1.用printf输出一个中空的五角星。#includestdio.hvoidmain(){printf(\t*\n);printf(\t**\n);printf(\t**\n);printf(\t********\n);printf(\t**\n);printf(\t**\n);printf(\t**\n);printf(\t***\n);printf(\t****\n);printf(\t**\n);}2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。#includestdio.hintmain(){chars[255];printf(请输入:);scanf(%s,s);printf(你输入的是:%s\n,s);return0;}3.从键盘输入十六进制整数,转化为八进制数输出。#includestdio.hintmain(){inta;printf(请输入一个十六进制数:);scanf(%x,&a);printf(这个数转化为八进制数为%o\n,a);return0;}4.只定义两个整型数据并赋值,实现两个整型数的互换。#includestdio.hintmain(){inta=10;intb=20;a=a^b;b=b^a;a=a^b;printf(a=%d,b=%d\n,a,b);return0;}5.从键盘上输入一个整数,分别输出8、16进制数的程序。#includestdio.hintmain(){inta;printf(请输入一个十进制数:);scanf(%d,&a);printf(这个数转化为八进制数为%o\n,a);printf(这个数转化为八进制数为%x\n,a);return0;}6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。#includestdio.hintmain(){inta;scanf(%d,&a);printf(百位数为%d\n,a/100);printf(十位数为%d\n,a%100/10);printf(个位数为%d\n,a%10);return0;}7.以下程序输出结果是(9,10)。#includestdio.hvoidmain(){inti=010,j=10;printf(%d,%d\n,++i,j--);}8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。#includestdio.hintmain(){chars;printf(你是学生吗(Y/N):);scanf(%s,&s);if(s=='Y'||s=='y'){printf(你是学生~~\n);}else{printf(你不是学生~~\n);}return0;}9.从键盘输入一个角度x,求10*sin(x)的值。#includestdio.h#includemath.hintmain(){inta;scanf(%d,&a);doubler=10*sin(a);printf(%f\n,r);return0;}第3章循环程序设计-4.以下for语句的循环次数是多少?inti,j=3;for(;i=j;i--,j--)printf(%d,i);执行了3次-5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(inti=0;i6;i++)printf(%d,h[i][i])-6.写出以下程序运行的结果,此程序实现了什么功能?#includestdio.hvoidmain(){inta[10]={2,4,0,-5,10,6,-8,9,6,7};inti,count=0;for(i=0;i10;i++)if(a[i]==0)count++;elsecontinue;printf(%d\n,count);}该程序实现的功能为:计算数组a中包含几个0-7.写出以下程序的功能。#includestdio.hvoidmain(){inta[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;for(k=0;k10/2;k++){tmp=a[k];a[k]=a[10-k-1];a[10-k-1]=tmp;}}此程序实现功能:将数组颠倒-8.写出以下程序运行后的输出结果。#includestdio.hvoidmain(){inti,j;for(i=0;i6;i++){for(j=0;ji;j++)printf();for(j=0;j2*(5-i)-1;j++)printf(*);printf(\n);}}输出倒三角形*************************9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。(1)#includestdio.hvoidmain(){inti,s;i=1;s=0;while(i=100);s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(2)#includestdio.h#includestdio.hvoidmain(){inti,s;i=1;s=0;while(i=100){s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}voidmain(){inti,s;i=1;s=0;while(i=100)s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(3)#includestdio.hvoidmain(){inti=1,s;while(i=100);{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945#includestdio.hintmain(){inta,b;b=1;scanf(%d,&a);for(inti=1;i=a;i+=2){b=b*i;}printf(%d\n,b);return0;}11.输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!=153#includestdio.hintmain(){inta,b,c;b=1;while(i=100){s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);ints=0;c=0;scanf(%d,&a);for(inti=1;i=a;i++){for(intj=1;j=i;j++){b=b*j;}c=c+b;b=1;}printf(%d\n,c);return0;}12.在屏幕上输出以下内容112123123412345123456123456712345678123456789#includestdio.hintmain(){for(inta=1;a=9;a++){for(intb=1;b=a;b++){printf(%d,b);}printf(\n);}return0;}13.求2+4+6+……+98+100的和,用多种for表达式来完成。#includestdio.hintmain(){intsum=0;for(inta=2;a=100;a+=2){sum+=a;}printf(%d,sum);return0;}14.输入一行字符,统计它有多少个字母?#includestdio.hintmain(){intcount=0;chars[255];scanf(%s,s);for(inti=0;i255;i++){if(s[i]='a'&&s[i]='z'||s[i]='A'&&s[i]='Z'){count++;}}printf(%d,count);return0;}第4章分支程序设计1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。#includestdio.hintmain(){intx;scanf(%d,&x);for(;x;scanf(%d,&x)){if(x0){printf(%d\n,x);}else{printf(%d\n,-x);}}return0;}2.输入一批数,输出比相邻数大的数,当输入0时结束。#includestdio.hintmain(){inta;intb=0;scanf(%d,&a);b=a;for(;a;scanf(%d,&a)){if(ab){printf(%d\t,a);}
本文标题:12秋程序设计基础(C)离线作业答案
链接地址:https://www.777doc.com/doc-3097758 .html