A. c語言設計身份證號信息提取器:輸入一身份證號後輸出此人的出生年、月、日。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char id[]="46198704030811";
printf("請輸入您的身份證號(18位數字):\n");
scanf("%s",id);
printf("您出生在%c%c%c%c年%c%c月%c%c日\n",id[6],id[7],id[8],id[9],id[10],id[11],id[12],id[13]);
system("pause");
return 0;
}
B. c語言輸入一個天數,輸出對應的年月天
#include<stdio.h>
intmain()
{
inti,n=0,year=0,month=0,day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
while(n!=-1)
{
while(n>=360)
{
n-=360;
year++;
}
while(n>=30)
{
n-=30;
month++;
}
while(n>0)
{
n--;
day++;
}
printf("%d年%d月%d日 ",year,month,day);
year=month=day=0;
printf("請輸入天數<輸入-1退出測試>:");
scanf("%d",&n);
}
return0;
}
C. 用C語言求:寫一個函數,從給定的身份證號中提取出生年月信息,並按日期格式輸出。
#include <stdio.h>
#include <string.h>
void main()
{
int len,year,month,day;
char str[30],str1[10];
printf("\n請輸入身份證號:\n");
gets(str);
len=strlen(str);
if(len==18)
{
sscanf(str, "%6c%4d%2d%2d", str1,&year,&month,&day);
printf("出生日期:%d年%d月%d日\n",year,month,day);
}
else printf("輸入錯誤!\n");
}
D. C語言,從身份證中獲得出生年月日
#include<stdio.h>
#include<string>
intmain()
{
charid[18]="";
printf("inputyouridentifycard: ");
fgets(id,18,stdin);
charyear[4]="";
charmonth[2]="";
charday[2]="";
memcpy(year,id+6,4);
memcpy(month,id+10,2);
memcpy(day,id+12,2);
printf("%d%02d%02d%d ",
atoi(year),atoi(month),atoi(day),atoi(year)+atoi(month)+atoi(day));
return0;
}
E. C語言:輸入身份證號,輸出出生年月日
C語言,數字不能和字元串運算。
如果僅為了這樣輸出,可以全部用字元數組變數。
char year[5],month[3],day[3];
...
charyears[5],month[3],day[3];
...
while(i>=6&&i<10)
{
years[i-6]=str[i];
i++;
}
while(i>=10&&i<12)
{
month[i-10]=str[i];
i++;
}
while(i>=12&&i<14)
{
day[i-12]=str[i];
i++;
}
printf("你是%s年%s月%s日出生的人 ",years,month,day);
這是沒有使用字元串操作函數也沒有使用指針的方法。