一道大一计算机C语言编程题,急求解答,在线等,谢谢,感激不尽!

 我来答
风雷九州
2014-12-18 · TA获得超过3026个赞
知道大有可为答主
回答量:1127
采纳率:100%
帮助的人:442万
展开全部
//思路,找到正确的位置,使用字符串转换数字函数解决就可以了
#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;
}
chiyoohui
2014-12-18 · TA获得超过280个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:138万
展开全部
#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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超级貓2014
2014-12-18
知道答主
回答量:11
采纳率:0%
帮助的人:1.4万
展开全部
5457842696448
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
123shenqixiao1
2014-12-18 · TA获得超过150个赞
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:91.4万
展开全部
源代码如下,有问题可追问:(求采纳)
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式