C语言进新手问题

Python020

C语言进新手问题,第1张

for语句后多写了一个零,这样整个循环会变成空循环;当i等于n时循环才结束,再运行t=t*i和s=s+t这两条语句,最后s会等于n+1的值。最后的输出应该是s,不应该是n吧?循环的次数也少一次,当格数为2时,循环应该运行1次对吧?但是在这个程序中一次都没有运行。

综合上述整个程序可以改为:

#include "stdio.h"

void main()

{

int t,s,i,n

printf("请输入格数\n")

scanf("%d",&n)

t=1,s=1

for(i=2i<=ni++)

{

t=t*i

s=s+t

}

printf("%d\n",s)

}

using System

namespace q1

{

    class Program

    {

        static void Main(string[] args)

        {

            ulong s = 0  //麦粒总数

            ulong n = 4  //每格麦粒的数量,第一格为4粒

            double g,v,a,h 

            //循环累计,64格,累加64次

            for(int i = 0 i < 64 ++i)

            {

                s += n

                //每格麦粒比前一格增加1倍

                n *= 2

            }

            //输出麦粒总数

            Console.WriteLine("统治者要向发明者奖励的麦粒总数:" + s + "粒")

            //小麦重量

            g = s * 5e-8 //每粒小麦50毫克 = 0.05克 = 0.00005千克= 0.00000005吨

            Console.WriteLine("小麦的重量为:" + g + "吨")

            //输入区域面积

            Console.Write("输入区域面积(平方千米):")

            a = double.Parse(Console.ReadLine())

            //计算小麦的体积(立方千米),每立方米小麦重量约0.75吨,换算为立方千米则为0.75e9吨

            v = g * 0.75e9

            //小麦的深度为(千米)

            h = v / a

            Console.WriteLine("深度:" + h + "千米")

            Console.ReadKey()

        }

    }

}