C语言程序设计实验指导书课后答案

x1=(-b+sqrt(d))/(2*a); printf(\ } else printf(\没有实数解\ return 0; } 3.1.5

从键盘输入10个字符,将所有的英文字母转换为大写后输出。 #include int main(void) {

char i,ch;

printf(\请输入 \for(i=1;i<=10;i++) { ch=getchar(); if(ch>='a'&&ch<='z') ch=ch-32; putchar(ch); }

return 0; } 3.1.6

从键盘输入10个字符,统计其中英文字母、空格、数字字符和其他字符的个数。 #include int main(void) { char ch,i; int letter,space,digiter,other; letter=space=digiter=other=0; for(i=1;i<=10;i++) { ch=getchar(); if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='z')) letter++; else if(ch==' '||ch=='\\n') space++; else if(ch>='0'&&ch<='9') digiter++; else

other++; } printf(\return 0; } 3.2.1

输入一个四位整数的年份,判断是否为闰年。 #include int main(void) { int x,a,b,c; printf(\输入年份:\ scanf(\ a=x%4; b=x0; c=x@0; if((a==0 && b!=0)||(c==0)) printf(\闰年\ else printf(\不是闰年\ return 0; } 3.2.2

假设自动售货机出售4种商品,薯片、爆米花、巧克力和可乐,售价分别是每份3.0元、2.5元、4.0元和3.5元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数超过五次时,退出查询;不到五次时,用户可以选择退出。当用户输入编号1~4,显示对应商品的价格;输入0,退出查询;输入其他编号,显示价格为0。 #include int main(void) { char price; int i; printf(\请输入商品的名称:\\n\ for(i=1;i<=5;i++) { price=getchar();getchar(); switch(price) { case '1':printf(\售价3.0元\\n\

case '2':printf(\售价2.5元\\n\ case '3':printf(\售价4.0元\\n\ case '4':printf(\售价3.5元\\n\ case '0':printf(\退出查询\\n\ default :printf(\价格为0元\\n\ } } return 0; } 3.2.3

编写一个程序输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。判断标准为:?标准体重=身高-110;?超过标准体重5kg为过胖;?低于标准体重5kg为过瘦。 #include int main(void) { int x,y,z; printf(\请输入身高和体重:\\n\ scanf(\ z=x-110; if(y-z>5) printf(\过胖\ else if(y-z<-5) printf(\过瘦\ else printf(\标准\ return 0; } 3.2.4

编写一个程序,计算购买某物品的总金额,该物品的单价为5元/公斤,购买5公斤以上打九折,购买10公斤以上打八折,购买20公斤以上打7折,购买50公斤以上打6折,购买100公斤以上打5折。(用多分支if语句求解) #include int main(void) { float x,y; printf(\购买量\\n\ scanf(\ if(x>=5 && x<10) y=0.9*5*x; else if(x>=10 && x<20) y=0.8*5*x; else if(x>=20 && x<50)

y=0.7*5*x; else if(x>=50 && x<100) y=0.6*5*x; else if(x>100) y=0.5*5*x; else y=5*x; printf(\付款%.2f\\n\ return 0; } 3.2.5

编写一个程序,输出给定的某年某月的天数。 #include int main(void) { int year,month,days,leap; printf(\年,月:\ scanf(\ switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; break; case 2: if(year%4==0 && year0!=0 || year@0==0) leap=1; else leap=0; if (leap) days=29; else

days=28; }

printf(\年%d月的天数为%d天\\n\}

实验四

4.1.1

输入一批正整数(以零或负数为结束标志)求其中的奇数和。 #include #include int main(void) { int data,sum; sum=0; printf(\输入一批正整数(以零或负数为结束标志): \ scanf(\ while(data>0) { if(data%2==1) sum=sum+data; scanf(\ } printf(\奇数和是%d.\\n\ return 0; } 4.1.2

输入两个整数a和n,求a+aa+aaa+……(n个a)之和。例如输入2和3,输出246(2+22+222) 提示:可采用递推的方法计算当前项item=item*10+a #include int main(void) { int a,n,item,i,sum; i=1; sum=0; item=0; printf(\请输入两个整数a和n: \ scanf(\while(i<=n) {

item=item*10+a; sum=sum+item; i=i++; }

printf(\结果为%d\\n\return 0; }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4