ch=getchar();
if(ch>=97&&ch<=122)
{ch=187-ch;putchar(ch);} else if(ch>=65&&ch<=90) {a=ch%2;
if (a==1) (char)a=(ch+1)/2+ch; else (char)a=ch/2+ch; putchar(a);}
else if(ch>=48&&ch<=57) {ch=ch/10+ch; putchar(ch);} else putchar(ch); printf(\ }
4.7 判断某年某月的天数
一年有365天,有的月份有31天,有的有30天,2月份闰年的时候是29天,非闰年的时候是28天。现在要求从键盘上输入一个年份和月份,输出其对应的天数。
#include
{ int year,month,days;
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) && (year % 100 !=0) ||(year % 400==0)) days=29; else days=28; }
printf(\}
4.8 花多少钱买衣服
周末商场促销呢,某品牌服装既可以买套装,也可
以买单件。若买的不少于50套,每套80元;不足50套的每套90元,只买上衣每件60元,只买裤子每条45元。编写程序,输入计划购买的上衣数量 a 和裤子的数量 b ,计算并输出应该付的款 m 。
#include
int a,b,y;
scanf(\ if(b<=a&&b<50) y=90*b+(a-b)*60; if(b<=a&&b>=50) y=80*b+(a-b)*60; if(a=50) y=80*a+(b-a)*45; printf(\}
4.9 到邮局去寄包裹
你去邮局给朋友寄礼物。发现邮局对邮寄包裹的费用是这样规定的:如果包裹长宽高任意一个尺寸超过1米,或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费 0.2 元,不同重量的邮资按下表计算: 重量(千克) 收费标准(元) 小于10 0 . 80
大于等于10但不超过20 0 . 75
大于等于20但不超过30 0 . 70
编写程序,输入包裹的长、宽、高尺寸和重量,输出所需的邮资(输出结果中包含两位小数即可),超出尺寸或重量的输出 \” . #include
float a,b,c,m,y;
scanf(\ if(a>1||b>1||c>1||m>30) printf(\ else {
- 6 -
if(m<10) y=0.80*m+0.2; else if(m<20) y=0.75*m+0.2; else y=0.70*m+0.2; printf(\ } }
4.10 输出星期几的英文表示
输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词\回车)\。 #include
int a;
scanf(\ switch((int)(a)) {
case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ case 5:printf(\ case 6:printf(\ case 7:printf(\ default:printf(\ } }
5.1 输出一行星号
编写程序在一行中输出 N 个星号。 输入: N值
输出: 一行中N个星号 #include
int n,i;
scanf(\
for(i=0;i 5.2 打印平行四边形 输入图形的高 n 和首字符 c ,输出如下例( n=5 ,c='A' )所示的图形 . ABCDE BCDEF CDEFG DEFGH EFGHI 输入:整数n例如 5 和某个字符例如 A 输出:高为5和首字符A 的平行四边形 #include scanf(\ for(m=0;m for(i=0;i printf(\ } for(d=0;d t=p+d+m; printf(\ } for(i=0;i printf(\ } printf(\ } } 5.3 空心的倒三角型 背景:请根据要求打印可空心倒三角形。 输入: 输入三角形的高度(h >0)。 输出:打印相应的空心倒三角形。图样参见测试用例。 #include - 7 - for(i=1; i<=(2*h-1); i++) { printf(\ } printf(\ for(j=1; j<=(h-2); j++) { for(k=1; k<=j; k++) { printf(\ } printf(\ for(m=1; m<=(2*h-3-2*j); m++) { printf(\ } printf(\ printf(\ } for(n=1;n<=(h-1);n++) { printf(\ } printf(\ } else printf(\ return 0; } 选做 5.4 打印实心正方形 5.1题中你已经打印了一行*号,这次在屏幕上输出一个由星号组成的 n 行 n 列的正方形。 程序输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的正方形: **** **** **** **** #include int a=1,n,b; scanf(\ while(a<=n) { b=1; do { printf(\ b++; } while(b<=n); printf(\ a++; } return 0; } 选做 5.5 空心字符菱形 输入:菱型起始字母和菱形的高度。 输出:参看测试用例,打印空心的由字符组成的菱形。 #include char ch; int n,a=1,b,c; scanf(\ while(a<=n) { b=1; while(b<=n-a) { printf(\ b++; } printf(\ c=1; if(a>=2) { while(c<=2*a-3) { printf(\ c++; } printf(\ } - 8 - ch=ch+1; printf(\ a++; } a=1; ch=ch-2; while(a<=n-1) { b=1; while(b<=a) { printf(\ b++; } printf(\ c=1; if(a<=n-2) { while(c<=2*n-2*a-3) { printf(\ c++; } printf(\ } ch=ch-1; printf(\ a++; } return 0; } 选做 5.6 输出一个字母K吧! 输入一个整数n,输出图形K。如n=4时,输出如下图形。 * * * * * * * * * * * * * #include int n,i=1,j; scanf(\ while(i<=n-1) { j=1; printf(\ while(j<=n-i) { printf(\ j++; } printf(\ i++; } printf(\ i=1; while(i<=n-1) { j=1; printf(\ while(j<=i) { printf(\ j++; } printf(\ i++; } return 0; } 选做 5.7 输出X图形 输入 n 值,输出下例( n=3 )所示的图形: * * * * * * * * * 输入:整数n(例如3) 输出:如上图所示X 形图形 #include int n,i=1,j,k; - 9 - scanf(\ while(i<=n-1) { j=1; while(j<=i-1) { printf(\ j++; } printf(\ k=1; while(k<=2*n-2*i-1) { printf(\ k++; } printf(\ j=1; while(j<=i-1) { printf(\ j++; } printf(\ i++; } i=1; while(i<=n-1) { printf(\ i++; } printf(\ i=1; while(i<=n-1) { printf(\ i++; } printf(\ i=1; while(i<=n-1) { j=1; while(j<=n-i-1) { printf(\ j++; } printf(\ k=1; while(k<=2*i-1) { printf(\ k++; } printf(\ j=1; while(j<=n-i-1) { printf(\ j++; } printf(\ i++; } return 0; } 选做 5.8 输出图形 编程,输入 n 值,输出下例( n=5 )所示的高为 n 的图形 : #include int n,i=1,j,k,l; scanf(\ while(i<=n-1) { j=1; while(j<=i) { printf(\ j++; } k=1; while(k<=2*n-2*i-1) { - 10 -