上机实验四分支结构程序设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机实验四分支结构程序设计 学号: 姓名: 目的要求 1 ?掌握运用关系运算和逻辑运算表示各种条件; 掌握字符型变量的定义方法和输入一个字符的方法; 掌握if语句的3种格式和使用方法;常握switch语句的语法规则、执行流程; 掌握break语句在switch语句和循环语句屮的作用。 实验内容 【实验题1】.程序填充:输入年份year,判断并输出该年份是否是闰年(leap year) ?如输入2000,则显示 “ 2000 is a leap year! ”,输入2100,贝!j显示“2100 is not a leap year! ” .提示:判断年份year是闰年的条件是: 能被400整除,或者 能被4整除但不能被100整除 如何用逻辑或“||”和逻辑与“”,结合求余运算“%”以及关系运算“二二”和“!=”表示该条件? 廻程序: #include stdio.h void main() { int year; printf(Input year: ); scanf( %d , year ); if( year%400==0|| (year%400! =0yaer%4=0) ) /* year 是闰年*/ printf(%d is a leap year! \nH,year); else /* year不是闰年*/ printf(%d is not a leap year! \n, year); } 编译、连接并运行该程序:如果输入2000,则显示Input、ear:2000 2000 is a leap year!:如果输入2008,则 显示 Input year:2008 2008 is a leap year! ;如果输入 2100,则显示 Input year:2100 2100 is not a leap year!。 【实验题2】程序填充:输入15个字符,统计英文字母、空格、数字和其它字符的个数。源程序如下: #includestdio.h void main() { int i,digit,blank ,letter,other; /*line 3 */ char ch; /*定义字符型变量ch*/ digit=blank=letter=olher=0; /*line 5 */ printf(Enter 15 characters:1); for( i=ll;j=15 : i++) { /* ch是英文字母ch=getcha「() ; /* 为 ch 输入一个字符 /* ch是英文字母 if( ch二 ach,=z||ch= Achv= Z */ letter++; )/*ch是数字:/)/* ch是空格*/else if ( ch二, )/*ch是数字:/ )/* ch是空格*/ else if ( ch= ||ch== \n enter++; else /* ch是其他字符*/ other++; printf(Mdigit=%d, letter=%d, blankr=%d, other=%d\nr\ digitJetter.blank,other); } 编译、连接并运行程序,输入aB 5cd勺221?,则结果显示: Enter 15 characters:aB 5cd *!221? digit=4,letter=4,blank=3,other=4 如果删除标有/*line5*/的语句行,并将标有/*line 3*/的语句行改写为u int i,digit=blank=letter=other=0; 重新 编译时是否正确?系统提示什么?应如何修改这一行才能保证程序的正确性? 错误,digit letter,blank,other 定义,int i,digit=0,blank=0,letter=0,other=0 【实验题3】程序设计:输入一个三位数的整数n,判断n是否为Amstrong数。所谓Amstrong数,是指该数 的个、十、百位上的数字的立方和恰好等于该数本身,如153, 370, 371和407都是Amstrong数。 【分析】难点1:如何解析出一个三位数n的个位数g、十位数s、百位数b? ??三位数n除以10,余数正好是该整数的个位数,故可以用求余运算“%”求g,即g二n%10: ??三位数n除以100,商正好是n的百位数,故可以用整除运算“/”求b,即b二n/100: ??三位数】1除以10,商是n的百位与十位,再将该商除以10,余数正好是】1的十位数s,即 s二 n/10%10; 难点2:已知n的个、十、百位数g,s,b,如何判断n是否是Amstrong数???个、十、百位数的立 方和恰好等于该数本身,数学表达式是g+s+b=n, C语言表达式应写为g*g*g+s*s*s+b*b*

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档