实验二

1前两个一致,

第一1234靠右对齐,补4空,第二12344位大于2不空位

f的精度不够    8f不变   后面保留一位和二位小数。e为固定模式

一致

%3c指的是在该字符前在空两个空格

helloworld按字符串输出,。几表示有几位。15s表有20位右靠。

2地址符和精度问题(少l)

3%ld 适用long整数,%lf适用double类

4可以

 

 

 

#include<stdio.h>
int main() 
{
	
 printf("请输入一个三位数以内的十进制整数") ;
 int a,b,c,d,e;
scanf("%d",&a);
b=a/100;
 c=a%100;
 d=c/10;
 e=c%10;
 
 printf("计算其逆序数...\n");
 if(a<=0||a>999)
 printf  ("a输入错误");
  
  
  
  else if(a>=100&&a<=999&&b==e) 
  
 
   
  
printf  ("%d的正序和逆序相同",a);
 else if(a>=100&&a<=999&&b!=e) 
 printf  ("%d的正序和逆序不相同",a);

 else if (a>=10&&a<=100&&d==e)
  
  
  printf  ("%d的正序和逆序相同",a);
 
 else if (a>=10&&a<=100&&d!=e)
  printf  ("%d的正序和逆序不相同",a);

       else  if (a>0&&a<10)
printf  ("%d的正序和逆序相同",a);
 return 0;
 } 

  

#include<stdio.h>
#include<stdlib.h>
int main(){
int year,month,day,leapyear;
scanf("%d%d",&year,&month);
if(year<0||month<1||month>12)
{printf("输入的数据错误!\n");
exit(0);
}
leapyear=year%4==0&&year%100!=0||year%400==0;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) 
day=31;
 else if(month==4||month==6||month==9||month==11)

day=30;
else
{
day=28+leapyear;
}
printf("%d年%d月的天数为:%d\n",year,month,day);
return 0;
}

  

#include<stdio.h>
#include<stdlib.h>
int main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
{
printf("输入数据错误\n");
exit(0);
}
switch(score/10)
{
case 10:
case 9:printf("优秀\n");break; 
case 8:printf("良好\n");break;
case 7:printf("中等\n");break;
case 6:printf("及格\n");break;
default:printf("不及格\n");break;



} return 0;}

 

  

 那个if的多种格式搞混了,有点乱。

posted @ 2019-11-03 16:36  孔丘在世  阅读(193)  评论(2)    收藏  举报