程序填空题:出生年月
输入一个18位的身份证号码,提取出年份和月份并输出,如果输入的号码不是18位则输出信息“Invalid data,input again!”,请填空完成相应程序功能。
```
#include
#include
int main(void)
{char str1[19],str2[5],str3[3];
int i,j;
do
{gets(str1);
if(@@[strlen(str1)!=18](2))
printf("Invalid data,input again!\n");
else
@@[ break](2);
}while(1);
@@[ j=0](2);
for(i=6;@@[i<=9](2);i++)
str2[j++]=str1[i];
str2[j]='\0';
@@[ j=0](2);
for(i=10;i<=11;i++)
str3[j++]=str1[i];
str3[j]='\0';
printf("%s,%s\n",str2,str3);
return 0;
}
```
答案:
第1空:strlen(str1)!=18
第2空: break
第3空: j=0
第4空:i<=9
第5空: j=0
```
#include
#include
int main(void)
{char str1[19],str2[5],str3[3];
int i,j;
do
{gets(str1);
if(@@[strlen(str1)!=18](2))
printf("Invalid data,input again!\n");
else
@@[ break](2);
}while(1);
@@[ j=0](2);
for(i=6;@@[i<=9](2);i++)
str2[j++]=str1[i];
str2[j]='\0';
@@[ j=0](2);
for(i=10;i<=11;i++)
str3[j++]=str1[i];
str3[j]='\0';
printf("%s,%s\n",str2,str3);
return 0;
}
```
答案:
第1空:strlen(str1)!=18
第2空: break
第3空: j=0
第4空:i<=9
第5空: j=0