程序设计基础(C)离线作业-答案-2017-浙江大学远程教育学院

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1浙江大学远程教育学院《程序设计基础(C)》课程作业姓名:袁洋学号:717129012012年级:2017春学习中心:紫金港校区—————————————————————————————第1章C语言的基本构成由add、main、scanf、printf函数组成,调用了scanf、printf两个系统函数。保留字:int、return。自定义标识符:add、a、b、c、x、y、z。第2章输入输出程序设计1.用printf输出一个中空的五角星。#includestdio.hvoidmain(){printf(*\n);printf(**\n);printf(**\n);printf(**\n);printf(********\n);printf(**\n);printf(**\n);printf(**\n);printf(***\n);printf(****\n);printf(****\n);printf(****\n);}2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。#includestdio.hvoidmain(){charcharshuz[20];2puts(gets(charshuz));}3.从键盘输入十六进制整数,转化为八进制数输出。#includestdio.hvoidmain(){intshiliu;scanf(%x,&shiliu);printf(%o\n,shiliu);}4.只定义两个整型数据并赋值,实现两个整型数的互换。#includestdio.hvoidmain(){inta,b,swap;scanf(%d,%d,&a,&b);printf(a=%d,b=%d\n,a,b);swap=a;a=b;b=swap;printf(a=%d,b=%d\n,a,b);}5.从键盘上输入一个整数,分别输出8、16进制数的程序。#includestdio.hvoidmain(){inta;scanf(%d,&a);printf(%o%x\n,a,a);}6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。#includestdio.hvoidmain(){intinteger;do{printf(请输入一个三个数:);scanf(%d,&integer);if(integer100||integer=1000)printf(请重新输入,\n);}while(integer100||integer=1000);printf(输入的整数为:%d,百位为:%d,十位为:%d,个位为:%d。\n,integer,integer/100,integer%100/10,integer%100%10);}37.以下程序输出结果是()。#includestdio.hvoidmain(){inti=010,j=10;printf(%d,%d\n,++i,j--);}程序输出结果为9,108.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。#includestdio.hvoidmain(){charq;printf(Areyouastudent?y/n\n);scanf(%c,&q);if(q=='y'||q=='Y')printf(Goodgoodstudy!\n);elseif(q=='n'||q=='N')printf(Workhard!\n);}9.从键盘输入一个角度x,求10*sin(x)的值。#includestdio.h#includemath.hintmain(){floatx;scanf(%f,&x);printf(sumis%f\n,10*sin(x));}第3章循环程序设计1.以下for语句的循环次数是多少?inti,j=3;for(;i=j;i--,j--)printf(%d,i);for语句的循环次数为3次2.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(inti=0;i6;i++)printf(%d,h[i][j])3.写出以下程序运行的结果,此程序实现了什么功能?#includestdio.h4voidmain(){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的元素个数。4.写出以下程序的功能。#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;}}把数组a里的元素位置倒置,第一个放在最后一个,第二个放在倒数第二个位置。5.写出以下程序运行后的输出结果。#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);}}*************************6.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。(1)#includestdio.hvoidmain(){5inti,s;i=1;s=0;while(i=100);s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}改正后:#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.hvoidmain(){inti,s;i=1;s=0;while(i=100)s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}改正后:#includestdio.hvoidmain(){inti,s;i=1;s=0;while(i=100){s=s+i;6i++;}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);}改正后:#includestdio.hvoidmain(){inti=1,s=0;while(i=100){s=s+i;i++;}printf(1+2+3+…-.+99+100=%d\n,s);}7.输入一个基数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945#includestdio.hintmain(){intjishu,sum=1,i;do{printf(请输入一个奇数:);scanf(%d,&jishu);}while(jishu%2==0);for(i=1;i=jishu;i=i+2){sum=sum*i;}printf(\n1*3*5*...*%d=%d\n,jishu,sum);}78.输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!=153#includestdio.hintmain(){inti,j,num,sum=0,jiec=1;//jiec存放单个阶乘的值,sum存放所以的阶乘和dodo{printf(请输入一个5到10之间的整数:);scanf(%d,&num);}while(num5||num10);for(i=1;i=num;i++){for(j=1;j=i;j++){jiec=jiec*j;}sum=sum+jiec;jiec=1;}printf(\n1!+2!+3!+...+%d!=%d,num,sum);}9.在屏幕上输出以下内容112123123412345123456123456712345678123456789#includestdio.hintmain(){chari,j;for(i=0;i9;i++){for(j=1;j=i+1;j++){printf(%d,j);}putchar('\n');}return0;}10.求2+4+6+……+98+100的和,用多种for表达式来完成。#includestdio.hvoidmain(){8inti,sum=0;for(i=2;i101;i=i+2)sum=sum+i;printf(sumis%d\n,sum);}或者#includestdio.hvoidmain(){inti,sum=0;for(i=2;i101;i++){if(i%2==0)sum=sum+i;}printf(sumis%d\n,sum);}11.输入一行字符,统计它有多少个字母?#includestdio.hvoidmain(){charccc;intnum=0;while((ccc=getchar())!='\n'){if((ccc='a'&&ccc='z')||(ccc='A'&&ccc='Z'))num++;}printf(numis%d\n,num);}第4章分支程序设计1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。#includestdio.hvoidmain(){intx;do{scanf(%d,&x);if(x0)printf(%d的绝对值为:%d\n,x,x);elseif(x0)printf(%d的绝对值为:%d\n,x,-x);}while(x!=0);}2.输入一批数,输出比相邻数大的数,当输入0时结束。#includestdio.h9voidmain(){intx=0,last=0;while(1){printf(请输入x值:);scanf(%d,&x);if(x==0){break;}if(xlast){printf(x比相邻数大:%d,x);}last=x;}}3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。#includestdio.hvoidmain(){chars;while((s=getchar())!='\n'){if(s='A'&&s='Z')s+=32;putchar(s);}}4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。#includestdio.hvoidmain(){chars;intxiaoxie_char=0,daxie_char=0,shuz_char=0,others=0;while((s=getchar())!='\n'){if(s='A'&&s='Z')daxie_char++;elseif(s='a'&&s='z')xiaoxie_char++;elseif(s='0'&&s='9')shuz_char++;elseothers++;}printf(这些字符中小写字符为%d,大写字符为%d,数字字符为%d,其他字符为%d\n,xiaoxie_char,daxie_char,shuz_char,others);}5.编写程序,计算分段函数:1010101110325xxxxxxy#includestdio.hvoidmain(){intx,y;scanf(%d,&x);if(x=1)y=x+5;elseif(x1&&x10)y=2*x;elseif(x10)y=3/(x-10);

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功