ACM Ex.1000
<A+B problem>:
Calculate A+B;
Input:
Eachline will contain two integers A and B. Process to end of file.
Output:
Foreeach case, output A+B in one line;
Example: sample input “11” sample output “2”
Key points:
a). file-io operation.
Meet Bugs:
a). Printf() usually need to add “\n”.
b). fopen() argument is (“filename”,”open type”).
c). // comment to code;
d). fopen(“path…”,”r or w not rw”)
e). getc: one character, but enter is also consider a keyinput.
f). scanf(): fflush() usually is often used with scanf();can replace fflush() by while(c=getch()!=’\n’
g). new functions: fopen(),getline(),sscanf(),fprintf();
&&c!=EOF);
C Code:
#include <stdio.h>
int main(void)
{
FILE *fp;
fp=fopen("test1","r+");
FILE *fp2;
fp2=fopen("test2","w+");
char *ch=NULL;
size_tlen=0;
size_treadlen;
int a=0;
int b=0;
int i=0;
while((readlen=getline(&ch,&len,fp))!=-1 )
{
i=0;
printf("-->%d\n",(int)readlen);
ch[readlen-1]='\0';
printf("%s \n",ch);
while(ch[i]!='\0')
{
printf("%x \n",ch[i]);
i++;
}
sscanf(ch,"%d%d",&a,&b);
printf("value1=%d,value2=%d\n",a,b);
fprintf(fp2,"%d\n",a+b);
}
fclose(fp);
fclose(fp2);
return0;
}