双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

zoj 2476

叮咚 叮咚 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
浙大平台的ACM题,wa了,但是找不出错误,望帮忙解决
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define N 10000

int myatof(char *s)
{
char *head=s;
char *p=s;

while(*s!='\0')
if(*s=='$' || *s==',' || *s=='.' ||*s=='\n')
s++;
else
*p++=*s++;
*p='\0';

return atoi(head);
}

void reverse(char *s)
{
char *p=strlen(s)-1+s;
char temp;

for(;s<p;s++,p--){
temp=*s;
*s=*p;
*p=temp;
}
}

void myatoi(int sum,char *s)
{
char *p=s;
int n;

n=sum%100;
sum/=100;
*s++ ='$';
do {
*s++ = sum%10+'0';
if((s-p)%4==0 && sum>10)
*s++=',';
}while((sum/=10));
*s='\0';
reverse(1+p);
*s++='.';
*s++=n/10+'0';
*s++=n%10+'0';
*s='\0';
}

main()
{
FILE *fp;
int sum,num;
char s[20];
int n,i;

fp=fopen("a.txt","r");
while(fscanf(fp,"%d",&n),n!=0) {
fgets(s,20,fp);
sum=0;
for(i=0;i<n;i++) {
fgets(s,20,fp);
num=myatof(s);
sum+=num;
}
myatoi(sum,s);
printf("%s\n",s);
}
return 0;
}
...全文
评论 10
收藏 已收藏
分享
返回顶部
叮咚
C语言 70,039 成员 243,237 内容