| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1039 人关注过本帖
标题:[求助]問一道 C語言 的題目.
只看楼主 加入收藏
akimoto
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-6-2
收藏
 问题点数:0 回复次数:14 
[求助]問一道 C語言 的題目.
接受10名學生的成績,要求放在Score[10]裏. 成績輸入的格式為: 80,90,66,78,34,60,99,67,89,67 每個成績之間都有一個逗號隔開的..不可以按回車 那麽要怎樣放進數組裏.
2005-08-09 15:34
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

int main(void) { int Score[10]={0},ScoreInt=0,i; char ScoreString[200]; char *ptr=ScoreString;

gets(ScoreString);

while(*ptr) {

if(*ptr>='0'&&*ptr<='9') { Score[ScoreInt]*=10; Score[ScoreInt]+=*ptr-'0'; } else if(*ptr==',') { ScoreInt++; } else { printf("输入错误!\n"); sleep(3); exit(0); } ptr++; }

for(i=0;i<10;i++) { printf("%5d",Score[i]); } } 请注意发贴规则,初级问题请发到相应版块。


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-08-09 20:04
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 

楼主,难道你认为你这个问题也属于高手的范围吗?没仔细看过书吧? #include <stdio.h>

main() { int Score[10],i; printf("Please input the number\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&Score[0],&Score[1],&Score[2],&Score[3],&Score[4],&Score[5],&Score[6],&Score[7],&Score[8],&Score[9]); for(i=0;i<=9;i++) { printf("%d,",Score[i]); } getch(); }


2005-08-09 20:05
akimoto
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-6-2
收藏
得分:0 
以下是引用knocker在2005-8-9 20:04:23的发言:

int main(void) { int Score[10]={0},ScoreInt=0,i; char ScoreString[200]; char *ptr=ScoreString;

gets(ScoreString);

while(*ptr) {

if(*ptr>='0'&&*ptr<='9') { Score[ScoreInt]*=10; Score[ScoreInt]+=*ptr-'0'; } else if(*ptr==',') { ScoreInt++; } else { printf("输入错误!\n"); sleep(3); exit(0); } ptr++; }

for(i=0;i<10;i++) { printf("%5d",Score[i]); } } 请注意发贴规则,初级问题请发到相应版块。

謝謝版主朋友的回答,但..這段代碼看不明白阿...


2005-08-09 22:37
akimoto
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-6-2
收藏
得分:0 
以下是引用georgezf在2005-8-9 20:05:31的发言:

楼主,难道你认为你这个问题也属于高手的范围吗?没仔细看过书吧? #include <stdio.h>

main() { int Score[10],i; printf("Please input the number\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&Score[0],&Score[1],&Score[2],&Score[3],&Score[4],&Score[5],&Score[6],&Score[7],&Score[8],&Score[9]); for(i=0;i<=9;i++) { printf("%d,",Score[i]); } getch(); }

想問一下這版主大人,為什麽要加 getch() 呢.? 有什麽作用?不加也可以的吧.


2005-08-09 22:38
georgezf
Rank: 1
等 级:新手上路
帖 子:275
专家分:0
注 册:2004-11-20
收藏
得分:0 
如果你的编译器释TC2.0的话,这个getch()是必须加的,不然的话结果会一闪而过。另外一些编译器会自动加上GETCH().

2005-08-10 07:32
akimoto
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-6-2
收藏
得分:0 
哦哦..原來這樣阿.~謝謝了.

2005-08-10 14:56
wetp
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2005-7-18
收藏
得分:0 
以下是引用knocker在2005-8-9 20:04:23的发言:

int main(void) { int Score[10]={0},ScoreInt=0,i; char ScoreString[200]; char *ptr=ScoreString;

gets(ScoreString);

while(*ptr) {

if(*ptr>='0'&&*ptr<='9') { Score[ScoreInt]*=10; Score[ScoreInt]+=*ptr-'0'; } else if(*ptr==',') { ScoreInt++; } else { printf("输入错误!\n"); sleep(3); exit(0); } ptr++; }

for(i=0;i<10;i++) { printf("%5d",Score[i]); } } 请注意发贴规则,初级问题请发到相应版块。

没必要写这么复杂吧


宠辱不惊,闲看庭前花开花落;去留无意,漫看天外云卷云舒.
2005-08-11 11:04
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
georgezf的程序简单易懂,适合初学者 knocker的容错处理比较好,且输出格式也比较好,适合高级菜鸟看

土冒
2005-08-11 19:23
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
得分:0 
用gets() 存入

后用sscanf() 重新分配就行了

2005-08-11 22:26
快速回复:[求助]問一道 C語言 的題目.
数据加载中...
 
   



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

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