C语音的题目,题目:求1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘。

#include<stdio.h>voidmain(){floatn,s=0,t=1;for(n=1;n<=20;n++){t*=n;s+=t;}printf("1+2!... #include<stdio.h>
void main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
 {
 t*=n;
 s+=t;
 }
printf("1+2!+3!...+20!=%e\n",s);
}
怎么运行的时候老是有错误?
展开
 我来答
ruralcpz
2011-05-30 · TA获得超过1004个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:195万
展开全部
你的程序没有什么问题,出现错误是不是
t*=n;
s+=t;
这两句?
那可能因为其中含有全角字符(如全角空格等),估计你的代码是网上拷贝的:-)
删掉,自己写一遍就好了!^_^
追问
恩,我就是在网上拷贝的,为什么,什么全角的问题呀!应该烤来就能用的呀!这样除掉空格都麻烦呀
追答
这一般和网页本身的脚本格式有关,有些网页上拷贝的就可以直接用,但有些就不行,这也没办法。
至于全角问题,简单的例子是:当你用搜狗输入法输入的时候,发现第三个图标是弯月型,点击一下就成了圆形。输入法默认的是半角,全角只有在很特殊的时候运用。
这个程序很短还不算麻烦,多敲敲代码也对你编程有好处。
但并不是以后拷贝的代码都会出现这样的问题,这只是个别现象而已。
这么说,能理解了么?
百度网友9e6b24d
2011-05-30 · TA获得超过166个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:0
展开全部
程序中包含了非英文字符,将每行行首和行尾的空格删除
#include<stdio.h>
void main()
{float n,s=0,t=1;
for(n=1;n<=20;n++)
{t*=n;s+=t;}
printf("1+2!+3!...+20!=%e\n",s);
}
追问
恩,我就是在网上拷贝的,为什么,什么全角的问题呀!应该烤来就能用的呀!这样除掉空格都麻烦呀
追答
你给出的代码并不是所有空格都是全角空格
{
 t*=n;
 s+=t;
 }
这部分代码的空格才是全角的,估计是可能贴出这个代码的人临时更改了下
至于全角半角么,直观点就是输入法的圆月月半月,主要是标点符号所占据的宽度不一样。
全角下,标点和一个汉字等宽。
而半角下,大部分标点都只有半个汉字的宽度。
下面给你个关于全角与半角区别的回答

参考资料: http://zhidao.baidu.com/question/66506597.html?si=1

参考资料: http://zhidao.baidu.com/question/243559270.html?an=0&si=2

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式