一道大一计算机C语言编程题,急求解答,在线等,谢谢,感激不尽!
展开全部
//思路,找到正确的位置,使用字符串转换数字函数解决就可以了
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[30];
char temp[10];
int year, month, day, sum;
scanf("%s", str);
memcpy(temp, &str[6], 4);
temp[4] = '\0';
year = atoi(temp);
memcpy(temp, &str[10], 2);
temp[2] = '\0';
month = atoi(temp);
memcpy(temp, &str[12], 2);
temp[2] = '\0';
day = atoi(temp);
sum = year + month + day;
printf("%04d %02d %02d %d", year, month, day, sum);
return 0;
}
展开全部
#include<stdio.h>
int ASCII_2_INT(char *s,int len)
{
int num=0;
while(len--)
{
if(*s>'9'||*s<'0')//如果输入的ID有出现非数字字符的时候,则不再转换。
break;
num*=10;
num+=*s-'0';
s++;
}
return num;
}
int main()
{
char ID[20];
int y,m,d;
printf("Input your ID:\n");
gets(ID);
y=ASCII_2_INT(&ID[6],4);
m=ASCII_2_INT(&ID[10],2);
d=ASCII_2_INT(&ID[12],2);
printf("%-6d%4c%02d%4c%02d%6d\n",y,' ',m,' ',d,y+m+d);
}
int ASCII_2_INT(char *s,int len)
{
int num=0;
while(len--)
{
if(*s>'9'||*s<'0')//如果输入的ID有出现非数字字符的时候,则不再转换。
break;
num*=10;
num+=*s-'0';
s++;
}
return num;
}
int main()
{
char ID[20];
int y,m,d;
printf("Input your ID:\n");
gets(ID);
y=ASCII_2_INT(&ID[6],4);
m=ASCII_2_INT(&ID[10],2);
d=ASCII_2_INT(&ID[12],2);
printf("%-6d%4c%02d%4c%02d%6d\n",y,' ',m,' ',d,y+m+d);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
源代码如下,有问题可追问:(求采纳)
#include <stdio.h>
int f(char s[],int st,int ed)
{
int i,ans = 0;
for(i = st;i < ed;i++)
{
ans = ans * 10 + (s[i] - '0');
}
return ans;
}
int main()
{
char s[25];
int year,month,day,sum;
while(scanf("%s",s))
{
year = f(s,6,10);
month = f(s,10,12);
day = f(s,12,14);
sum = year + month + day;
printf("%-6d %02d %02d%6d\n",year,month,day,sum);
}
return 0;
}
#include <stdio.h>
int f(char s[],int st,int ed)
{
int i,ans = 0;
for(i = st;i < ed;i++)
{
ans = ans * 10 + (s[i] - '0');
}
return ans;
}
int main()
{
char s[25];
int year,month,day,sum;
while(scanf("%s",s))
{
year = f(s,6,10);
month = f(s,10,12);
day = f(s,12,14);
sum = year + month + day;
printf("%-6d %02d %02d%6d\n",year,month,day,sum);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询