| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1625 人关注过本帖
标题:[求助]一个小程序的问题?计算n的阶乘,有问题??
只看楼主 加入收藏
苍浪剑赋
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-5
收藏
 问题点数:0 回复次数:8 
[求助]一个小程序的问题?计算n的阶乘,有问题??
是计算n的阶乘

using System;
namespace hahaha
{
public class CS
{
public static void Main()
{
int n;
int sum = 1;
Console.Write("请输入n的值:");
n = Console.ReadLine();//这行出错了
for (int i = 1; i <= n; i++)
{
sum = sum * i;
}
Console.WriteLine("{0}的阶乘为:{1}", n, sum);
}
}
}

说无法将类型“string”隐式转换为“int”

我应该怎么改呢??

可是我没有定义string的类型啊?不明白?

[[it] 本帖最后由 苍浪剑赋 于 2008-3-30 19:00 编辑 [/it]]
搜索更多相关主题的帖子: 阶乘 
2008-03-30 18:38
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
Console.ReadLine()默认的类型就是string类型,不能直接赋值给INT型的n,应该转换一下!!!
用n=convert.int32(Console.ReadLine())就可以了!!!
PS:如果输入的不是有效数值,则转换失败,报错!

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2008-03-30 18:51
苍浪剑赋
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-5
收藏
得分:0 
谢谢,可是n=convert.int32(Console.ReadLine())还是有问题
说convert不存在

这样就没事了  n = int.Parse (Console.ReadLine().Trim());

可是不明白 int.Parse  和 Trim()是什么意思??
2008-03-30 19:00
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
n=Convert.int32(Console.ReadLine())
第一个字母要大写,不要把我的源码复制过去啊,我都是方便编辑用小写的方法写的!!!
n = int.Parse (Console.ReadLine().Trim());
int.Parse  这个也是一个转换类型的方法!!而Trim()是去掉输入的字符串前后的空格!!
这些在MSDN有的,而且在里面也有提示!!!

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2008-03-30 19:04
苍浪剑赋
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-5
收藏
得分:0 
“System.Convert”并不包含“int32”的定义
倒 ,还是有错??
2008-03-30 19:14
苍浪剑赋
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-3-5
收藏
得分:0 
明白了,应该是n = Convert .ToInt32   (Console.ReadLine());

谢谢你哈!
2008-03-30 19:53
冢骨
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-3-14
收藏
得分:0 
using System;
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            int sum = 1;
            Console.Write("请输入n的值:");
            n = Convert.ToInt32( Console.ReadLine());
            for (int i = 1; i <= n; i++)
            {
                sum = sum * i;
            }
            Console.WriteLine("{0}的阶乘为:{1}", n, sum);

        }
    }
}
2008-03-30 20:00
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
楼主....基础知识啊...
一定要过硬才行...
相信我

msdn == 葵花宝典!!!
QQ:122768959
2008-03-31 10:01
梦心
Rank: 4
来 自:福建平和
等 级:贵宾
威 望:13
帖 子:1910
专家分:0
注 册:2007-5-11
收藏
得分:0 
[bo]以下是引用 [un]苍浪剑赋[/un] 在 2008-3-30 19:53 的发言:[/bo]

明白了,应该是n = Convert .ToInt32   (Console.ReadLine());

谢谢你哈!



嘻嘻~~忘记了正确的写法了,在编程的时候经常就是选择弹出的窗口选择的
惭愧~~~~

我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~
我的博客园地址: [url]http://[/url]
2008-03-31 11:43
快速回复:[求助]一个小程序的问题?计算n的阶乘,有问题??
数据加载中...
 
   



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

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