如何正确输入输出字符

请编写程序从键盘读入数据,并按要求输出

输入格式

  共三行。
  第一行:输入两个整数,中间用一个逗号隔开;
  第二行:输入两个浮点数,中间用空格隔开;
  第三行:输入两个字母,每个字母前面加一个空格,中间加一个逗号。

输出格式

  按照输入的原样输入数据,其中的浮点数输出时保留小数点后1位。
这个如何写c语言代码?
我写的如下:
#include
main()
{
int a, b, f;
float c, d;
int i = 0;
char s[];
scanf("%d%d", &a, &b);
scanf("%f%f", &c, &d);
while ((f = getchar()) != EOF)
{
if (f != ' ' && ',' && '\n' && '.')
{
s[i] = f;
++i;
}
}
printf("%d,%d\n", a, b);
printf("%.1f %.1f\n", c, d);
printf(" %c, %c", s[0], s[1]);
}
不知道错在哪里

#include<stdio.h>
int main()
{
int a, b, f;
float c, d;
int i = 0;
char s[10];
scanf("%d,%d", &a, &b);//这里题目说明使用逗号
scanf("%f %f", &c, &d);//这里题目说明使用空格
getchar();//读取换行
while ((f = getchar()) != EOF)
{
if (f != ' ' && f != ',' && f != '\n' && f != '.')//不能只写一个符号
{
s[i] = f;
++i;
}
if(f == '\n'){
    break;//换行时跳出循环
}
}
printf("%d,%d\n", a, b);
printf("%.1f %.1f\n", c, d);
printf(" %c, %c", s[0], s[1]);
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^