当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]一段C代码,不知道我那里写错了
帖子发表于 : 2008-02-18 20:48 

注册: 2006-05-04 2:13
帖子: 18
地址: 辽宁
送出感谢: 0 次
接收感谢: 0 次
//编写一个程序,创建一个有26个元素的数组,并在其中存储26个小写字母
//并让该程序显示数组的内容
#include<stdio.h>
#include<ctype.h>
int main(void)
{
char ch[26];
int index, ind; //用来表示数组的序号,后一个变量纯属于为了输出的无奈之举
char ch_mid;

for(index=0,ind=1;index<26;index++,ind++)
{
printf("请输入第 %d 个元素:\n",ind);

ch_mid=getchar();
getchar(); //屏蔽掉回车
if(islower(ch_mid)&&isalpha(ch_mid))
{
ch[index]=ch_mid;
}
else

printf("您输入的第%d个元素是%c,不是小写字母,请重新输入:\n",ind,ch_mid);
continue;
}
} // 写入元素到数组

for(index=0,ind=1;index<26;index++,ind++)
{
printf("您输入的元素的第%d个元素是%c.\n",ind,ch[index]);
}

return 0;
}


最后由 feral 编辑于 2008-02-21 4:01,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-18 21:00 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
如果是vi ,,, % 可以匹配括号,gg=G c风格排版,很容易找语法错误


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-02-18 21:14 

注册: 2006-05-04 2:13
帖子: 18
地址: 辽宁
送出感谢: 0 次
接收感谢: 0 次
不好意思 我本来缩进写的还行 呵呵 不懂HTML(?) 一帖上来就这样了
而且即使是现在 我进到编辑里面的时候 缩进还是没有问题的 不会搞了


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-02-18 21:23 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
代码:
#include<stdio.h>
#include<ctype.h>
int main(void)
{
   char ch[26];
   int index, ind; //用来表示数组的序号,后一个变量纯属于为了输出的无奈之举
   char ch_mid;

   for(index=0;index<26;index++)
   {
      printf("请输入第 %d 个元素:\n",index+1);

      ch_mid=getchar();
      getchar(); //屏蔽掉回车
      if(islower(ch_mid)&&isalpha(ch_mid))
      {
         ch[index]=ch_mid;
      }
      else

         printf("您输入的第%d个元素是%c,不是小写字母,请重新输入:\n",index+1,ch_mid);
      continue;
   }
   for(index=0;index<26;index++)
      printf("您输入的元素的第%d个元素是%c.\n",index+1,ch[index]);

   return 0;
} // 写入元素到数组


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-02-19 18:49 
头像

注册: 2005-06-19 23:33
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
楼主else后面的括号是中文的,另外输出非法字符的处理逻辑也有问题


_________________
Ubuntu Karmic
acer 5595 : core2 duo T7200;2*1024M DDR2-667 ;intel 965pm;ati mobility readon X1600

贫贱不能移,富贵不能淫,威武不能屈


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-02-19 19:04 
头像

注册: 2007-05-06 8:19
帖子: 7433
送出感谢: 0 次
接收感谢: 4
把题目里的“一个”改为“一段”,“程序”改为“代码”


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-02-19 22:39 

注册: 2007-06-01 14:02
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
问题在这里

"
else

printf("您输入的第%d个元素是%c,不是小写字母,请重新输入:\n",index+1,ch_mid);
continue;
"


页首
 用户资料  
 
8 楼 
 文章标题 : Re: [问题]一个C程序,不知道我那里写错了
帖子发表于 : 2008-02-20 10:56 
头像

注册: 2007-06-06 15:49
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
feral 写道:
//编写一个程序,创建一个有26个元素的数组,并在其中存储26个小写字母
//并让该程序显示数组的内容
#include<stdio.h>
#include<ctype.h>
int main(void)
{
char ch[26];
int index, ind; //用来表示数组的序号,后一个变量纯属于为了输出的无奈之举
char ch_mid;

for(index=0,ind=1;index<26;index++,ind++)
{
printf("请输入第 %d 个元素:\n",ind);

ch_mid=getchar();
getchar(); //屏蔽掉回车
if(islower(ch_mid)&&isalpha(ch_mid))
{
ch[index]=ch_mid;
}
else

printf("您输入的第%d个元素是%c,不是小写字母,请重新输入:\n",ind,ch_mid);
continue;
}
} // 写入元素到数组

for(index=0,ind=1;index<26;index++,ind++)
{
printf("您输入的元素的第%d个元素是%c.\n",ind,ch[index]);
}

return 0;
}


这里使用
代码:
continue;

会产生一种情况:当你输入错误的字符的时候,会跳空一个数组元素。即如果你在第5个元素时输入一个大写A,会执行continue语句,index和ind会增加1,第5个数组元素将被跳过。[/code]


_________________
中国特色:工资的增长速度永远比物价的增长速度低!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译