请编写程序从键盘读入数据,并按要求输出
输入格式
共三行。
第一行:输入两个整数,中间用一个逗号隔开;
第二行:输入两个浮点数,中间用空格隔开;
第三行:输入两个字母,每个字母前面加一个空格,中间加一个逗号。
输出格式
按照输入的原样输入数据,其中的浮点数输出时保留小数点后1位。
#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]);
}
s未定义内存大小
正确解决题目
char s[]; 数组没设置长度呀,char s[6],需要数字这种
字符数组s你要给它开辟空间的呀,比如char s[10]
#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]);
}
不知道你这个问题是否已经解决, 如果还没有解决的话: