栗子吃咸菜 发表于 2021-9-12 14:25:17

关于for循环语句修改问题

输入一个1~10间的自然数,用for语句求这个数的阶乘。例如,输入5,输出为5!=120。
要求:如把for语句设计为for( ;;),请重新设计程序。
没有很明白题目修改的意思...


#include<stdio.h>
int main()
{
int i,n,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
   s*=i;
printf("%d!=%d\n",n,s);
return 0;
}

咳咳咳咳o! 发表于 2021-9-12 14:51:35

你这样写就是了啊!

jhq999 发表于 2021-9-12 17:00:40

#include<stdio.h>
int main()
{
int i,n,s=1;
scanf("%d",&n);
/* for(i=1;i<=n;i++)
   s*=i;*/
i=1;
for (;;)
        {
                if (i>n)
                {
                        break;
                }
               s*=i;
                i++;
        }
printf("%d!=%d\n",n,s);
return 0;
}

quark 发表于 2021-9-12 21:06:29

#include<stdio.h>
int main()
{
int i,n,s=1;
scanf("%d",&n);
/* for(i=1;i<=n;i++)
   s*=i;*/
i=1;
for (;;)
      {
                if (i<=n)
                {
                  s*=i;
                     i++;
                }
                else
                     break;
      }
printf("%d!=%d\n",n,s);
return 0;
}
页: [1]
查看完整版本: 关于for循环语句修改问题