=n+1-i||i==n||j==n+1-i||j==2*(n-1)+i)printf("*");elseprintf("");printf("\n");}}4-2.反序输出整数#includevoidmain(){longa,b,r;scanf("%ld",&a);b=0" />
4-1 打印空心等腰梯形
main()
{ int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ for(j=1;j<=2*(n-1)+i;j++)
if(i==1&&j>=n+1-i||i==n||j==n+1-i||j==2*(n-1)+i) printf("*");
else printf(" ");
printf("\n");
}
}
4-2. 反序输出整数
#include
void main()
{
long a,b,r;
scanf("%ld",&a);
b=0;
do{
r=a%10;
a=a/10;
b=b*10+r;
}while(a);
printf("%ld",b);
printf("\n");
}
4-3. 求最大、次大、最小和次小值
main()
{ int n,i,a,b=0,c=0,d,e,j,l=0,m=0,k=0,o=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ if(i else scanf("%d,%d",&a,&j); if(a>b) { c=b;b=a;m=l;l=j;} else if(ac) {c=a;m=j;} if(i==2){d=b;e=c;o=m;k=l;} else if(i==1) continue; if(a else if(a>e&&a } printf("%d,%d %d,%d\n",b,l,c,m); printf("%d,%d %d,%d\n",e,o,d,k); } 4-4. 10进制数转换为16位二进制数main() { long int n; int a[16]={0},i; scanf("%d",&n); for(i=0;i<=15;i++) { a[i]=n%2; n=n/2;} for(i=15;i>=0;i--) printf("%d",a[i]); printf("\n"); } 4-5. 打印实心正方形 #include void turn(char ch,int n) {if(n>0) {printf("%c",ch);turn(ch,n-1);}} int main() {int n,i; scanf("%d",&n); for(i=1;i<=n;i++) {turn('*',n); putchar('\n');} } 4-6. 学习成绩归类 #include "stdio.h" int main() {int a=0; while(a>=0) {scanf("%d",&a); if(a>=0) {switch(a/10) {case(10): case(9):{printf("%d \"super\"\n",a);break;} case(8):{printf("%d \"good\"\n",a);break;} case(7):{printf("%d \"ok\"\n",a);break;} case(6):{printf("%d \"pass\"\n",a);break;} case(5):case(4):case(3):case(2):case(1): case(0):{printf("%d \"no good\"\n",a);break;} default:printf("%d \"input error\"\n",a); } } } } 4-7. 输出星期几的英文表示 #include #include int main() { int n; scanf("%d",&n); switch(n) { case 1:printf("Monday\n");break; case 2:printf("Tuesday\n");break; case 3: printf("Wednesday\n");break; case 4:printf("Thursday\n");break; case 5:printf("Friday\n");break; case 6:printf("Saturday\n");break; case 7:printf("Sunday\n");break; default:printf("Error\n"); break; } system("pause"); return 0; } 4-8. 求最大数和最小数的算数运算结果 #include int main() { char ch; int n=0,max,min,i0,n0,i=n0=0;i0=100; ch=48; while((ch=getchar())!='=') {if(ch>='0'&&ch<='9') {n=10*n+ch-48;i=10*i+ch-48;} else {if(ch==',') {if(n>n0) max=n;else max=n0; if(i i0=min;n0=max; i=0;n=0;} else {switch(ch) {case'+':printf("%d+%d=%d\n",max,min,max+min);break; case'-':printf("%d-%d=%d\n",max,min,max-min);break; case'*':printf("%d*%d=%d\n",max,min,max*min);break; case'/':if(min!=0) printf("%d/%d=%d\n",max,min,max/min); else printf("Error!\n");}break; } } } ch=getchar(); } 4-9. 黑色星期五 #include void main() { int i,n=0,year,day=13,flag,m[12]={0}; int days[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; scanf("%d",&year); flag =(year%4==0 && year%100!=0) || year%400 == 0 ? 1 : 0; for(i=1;i<=12;i++) { if((year-1+(year-1)/4-(year-1)/100+(year-1)/400+day)%7==5) { m[n]=i; n++; } day+=days[flag][i]; } for(i=0;i printf("%d/%d/%d\n",year,m[i],13); }