| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:为什么是一个死循环(我怎么看都没错啊)??
只看楼主 加入收藏
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:10 
为什么是一个死循环(我怎么看都没错啊)??


#include <stdio.h>
#include <math.h>
typedef struct student{
char num[5];
char name[10];
int s[4];
float ave;
}STU;
void read(STU *,int );/*输入数据*/
void put(STU *,int );/*输出信息*/
void main()
{
STU stu[4];
read(stu,4);
put(stu,4);
getch();
}
void read(STU T[],int m)
{
int i,j;
double sum=0;
for(i=0;i<m;i++)
{
printf("\ninput num:\n");/*为什么是死循环呢*/
scanf("%s",T[i].num);
printf("\ninput name:\n");
scanf("%s",T[i].name);
printf("\ninput the 4 mark:\n");
sum=0;
for(j=0;j<4;j++)
{
scanf("%d",&T[i].s[j]);
sum+=T[i].s[j];
}

T[i].ave=sum/4.0;

}
}
void put(STU *T,int m)
{
int i;
printf("\nnum------name-------scorce-------ave------\n");
for(i=0;i<m;i++)
printf("%8s%8s%3d%3d%3d%3d%3.2f\n",T[i].num,T[i].name,T[i].s[0],T[i].s[1],T[i].s[2],T[i].s[3],T[i].ave);

}


搜索更多相关主题的帖子: include double 
2006-03-30 13:25
luo113927
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2006-3-15
收藏
得分:0 
void read(STU T[],int m)--------------&gt;void read(STU *T,int m)
2006-03-30 14:01
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
read(stu,4);
put(stu,4);
在调用的时候没有具体的实参

2006-03-30 16:20
gail
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-3-29
收藏
得分:0 
改了还是看不懂啊
麻烦说详细点
谢谢了

2006-03-30 17:22
偶成
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-3-4
收藏
得分:0 

我是用c-free运行的,
输入过程没问题 结果也正确


几年前,丢失了求知欲,游荡在游戏世界中. 而今寻找回了求知欲,希望通过自学充实自己.努力中...
2006-03-30 22:29
luo113927
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2006-3-15
收藏
得分:0 
奇怪

看不出那里错

还是叫斑竹来看看吧
2006-03-30 22:41
金为床兮银为椅
Rank: 1
等 级:新手上路
帖 子:183
专家分:0
注 册:2006-3-20
收藏
得分:0 
你再重新试试我的程序,我的可以,环境vc60,math也没用到啊,加上干什么?

typedef struct student
{
char num[5];
char name[10];
int s[4];
float ave;
}STU;
void read(STU *,int );/*输入数据*/
void put(STU *,int );/*输出信息*/
void main(void)
{
STU stu[4];
read(stu,4);
put(stu,4);
getchar();
}
void read(STU *T,int m)
{
int i,j;
double sum;//不需要初始化
for(i=0;i<m;i++)
{
printf("\ninput num:\n");
scanf("%s",T[i].num);
printf("\ninput name:\n");
scanf("%s",T[i].name);
sum=0;
for(j=0;j<4;j++)
{
printf("\ninput 4 mark .s[%d]:", j);//加一个提示语句
scanf("%d",&T[i].s[j]);
sum+=T[i].s[j];
}

T[i].ave = sum/4.0;

}
}
void put(STU *T,int m)
{
int i;
printf("\nnum------name-------scorce-------ave------\n");
for(i=0;i<m;i++)
printf("%8s%8s%3d%3d%3d%3d %3.2f\n",T[i].num,T[i].name,T[i].s[0],T[i].s[1],T[i].s[2],T[i].s[3],T[i].ave);
//打印中加空格整齐一点,还需要再调输出格式
}

努力学习C、C++、LINUX、ORACLE、ENGLISH,累死为止。
2006-03-31 11:38
金为床兮银为椅
Rank: 1
等 级:新手上路
帖 子:183
专家分:0
注 册:2006-3-20
收藏
得分:0 

我知道是怎么回事了!

你在循环里没有加上提示语言,连着输入4个数,当光标下移的时候,机器要求是再输入数值,而你以为不运行了进入了死循环!

对不对???


努力学习C、C++、LINUX、ORACLE、ENGLISH,累死为止。
2006-03-31 11:46
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
我希望楼主仔细对照,这是一个多么惨痛的教训,其实就一个错误,我把程序整理了下
[CODE]

#include <stdio.h>
#include <math.h>
typedef struct student{
char num[5];
char name[10];
int s[4];
float ave;
}STU;
void Read(STU *,int ); /* 经常说自定义函数名第一个字母最好大写,可你不听*/
void Put(STU *,int ); /*TC中 read()为库函数*/
void main() /*自定义函数名第一个字母大写就是为了防止和库函数相同*/
{
STU stu[4];

Read(stu,4);
Put(stu,4);
getch();
}
void Read(STU *t,int m) /*可我们通常要求变量名小写,可你...*/
{
int i,j;
float sum;


for(i=0;i<m;i++)
{
printf("input num:\n");
scanf("%s",t[i].num);
printf("input name:\n");
scanf("%s",t[i].name);
printf("input the 4 mark:\n");
sum=0;
for(j=0;j<4;j++)
{
scanf("%d",&t[i].s[j]);
sum+=t[i].s[j];
}
t[i].ave=sum/4.0;
}
}

void Put(STU *t,int m)
{
int i;

printf("\n-num----name------scorce--------ave-\n");
for(i=0;i<m;i++)
printf("%3s%7s%6d%4d%4d%4d%7.2f\n",t[i].num,t[i].name,t[i].s[0],t[i].s[1],t[i].s[2],t[i].s[3],t[i].ave);

}

[/CODE]
printf()中,那些数字有变化,为了输出更美观

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-31 13:45
金为床兮银为椅
Rank: 1
等 级:新手上路
帖 子:183
专家分:0
注 册:2006-3-20
收藏
得分:0 
今天没白来论坛,有收获!

努力学习C、C++、LINUX、ORACLE、ENGLISH,累死为止。
2006-03-31 14:08
快速回复:为什么是一个死循环(我怎么看都没错啊)??
数据加载中...
 
   



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

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