您的位置:首页 > 其它

对一道简单例题不同解法的感受

2015-02-17 21:22 267 查看
  今天,首次尝试了使用不同的(原创的)方法解答《C语言入门经典(第五版)》中的一道例题。

 我的写法如下:

//program 4.11 Sums of integers with a while loop nested in a for loop
#include<stdio.h>

int main(void)
{
unsigned long sum=0UL;
unsigned int count=0U;
unsigned int i=1U;

printf("\nEnter the number of integers you want to sum:");
scanf("%u",&count);

for(;i<=count;++i)
{
if(i==1)
printf("1");
else
{
unsigned int j=2U;
printf("1");
while(j<=i)
{
printf("+%u",j);
++j;
}
}
sum +=i;
printf("=%Lu\n",sum);
}
return 0;
}
例题解法如下:

#include<stdio.h>

int main(void)
{
unsigned long sum=1UL;
unsigned int j=1U;
unsigned int count=0;

printf("\nEnter the number of integers you want to sum:");
scanf("%u",&count);
for(unsigned int i=1,i<=count;++i)
{
sum=1UL;
j=1;
printf("\n1");

while(j<i)
{
sum +=++j;
printf("+%u",j);
}
printf("= %lu",sum);
}
printf("\n");
return 0;
}

  我也不知道该说些什么好,初看起来书上例题中的答法(姑且称之为”官方答法“)不太理解,但其实编译过程中反而是我的“好理解的”出了很多意想不到的错误。“官方答法虽然不容易懂,但想来日过思路相同,犯的错误应该会少一些吧。

  哦,对了,如果按照”官方答法“,代码的长度也更短一下,逼格更高~~~~~~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  日记