标题:问一个问题
只看楼主
evil_evil
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-3-4
 问题点数:0 回复次数:8 
问一个问题
#include <stdio.h>
main()
{
struct student
{ char num[10];
char name[10];
char sex;
float english;
float computer;
float math;
float total;
float average;
};
struct student per[10];
int i;
for(i=0;i<=9;i++)
{
printf("第%d个同学\n",i+1);
printf("please input the num:");
scanf("%s",per[i].num);
printf("please input the name:");
scanf("%s",per[i].name);
printf("please input the sex M or F:");
scanf(" %c",&per[i].sex); /*为什么%c前的空格不可少*/
printf("please input the english score:");
scanf("%f",&per[i].english);
printf("please input the computer score:");
scanf("%f",&per[i].computer);
printf("please input the math score:");
scanf("%f",&(per[i].math));
per[i].total=per[i].english+per[i].computer+per[i].math;
per[i].average=per[i].total/3;
}
for(i=0;i<=9;i++)
{
printf("%s,%s,%c,%f,%f,%f,%f,%f\n",per[i].num,per[i].name,per[i].sex,per[i].english,per[i].computer,per[i].math,per[i].total,per[i].average);
}
}
搜索更多相关主题的帖子: include please 
2006-03-26 11:36
未来的梦
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-3-23
得分:0 
这问题你记住就可以了

QQ: 619969970.weilai.虽无飞,飞必冲天;虽无鸣,鸣必惊人;虽无想,想则必成。
2006-03-26 11:37
维纳斯的恋人
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-22
得分:0 

repeat:/*为什么%c前的空格不可少*/
这是不可能的,%c前面没有空格是没有问题的,不信你试一下:
# include <stdio.h>
void main ()
{
char sex;
scanf ("%c",&sex);
printf ("%c\n",sex);
}

她说她都希望没有看到 可是真的发生了 不可能改变 我说我只想我们能像以前一样 真的不可以??
2006-03-26 12:24
evil_evil
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-3-4
得分:0 

但在我上面的程序中如果少了空格就有问题了,如果你试试就会知道有空格和没空格的分别!!!!!


潜水员!
2006-03-26 12:53
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
读取单个字符时是不需要空格,但如果在链表中就需要空格或'\n'了

2006-03-26 13:03
evil_evil
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-3-4
得分:0 
明了,感激....

潜水员!
2006-03-26 13:12
yqz_b
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-3-1
得分:0 
我运行过了,是需要空格的。我分析了原因:当执行到“scanf("%s",per[i].name);”这个语句时,输入一个字符串,让后回车,编译器把回车当作了“scanf("%c",&amp;per[i].sex); ”这个语句的输入,而如果加一个空格,刚好跳过回车符。不信你在“scanf("%c",&amp;per[i].sex); ”这个语句后面加上“printf("%c",per[i].sex); ”试试,肯定会换行的。我都试过了。
2006-03-26 13:58
yqz_b
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-3-1
得分:0 
我有个疑问想问楼主 ,你用的是什么编译器啊?是Turbo c2.0吗?我运行了你的程序,提示错误:scanf : floating point formats not linked Abnormal program termination。后来我在Baidu里搜了一下,发现TC中有bug:在用scanf函数进行数据输入的时候,如果运用了指向结构体变量的指针就会有问题,scanf函数对这种方式的使用支持的并不好。不过我先让数据输入给一个变量,不用指针,然后再将这个变量的值赋给那个指针就行了。
2006-03-26 14:09
evil_evil
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-3-4
得分:0 

我用的是VC++6.0,程序没问题的


潜水员!
2006-03-26 17:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-52860-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.245158 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved