这似乎不象是来求帮助的。
如果是,请楼主斧正我的注释
#include<stdio.h>//无法简化
int main()//无法简化 参数可以改成(void)
{//无法简化
int i,n;//无法简化
float sum=0;//无法简化
//可以删除
printf(""请输入所需要前n项和: ");//本行和下一行可以简化成
printf("%*s", scanf("%d",&n), "请输入所需要前n项和: ");
scanf("%d",&n);//同上
n=2*n;//本行可以和下一行简化成
for( i = 2, n <<= 1; i <= n; i += 2 )但是楼主的要求是for循环不改变
for(i=2;i<=n;i+=2)
{//可以删除
sum=sum+1.0/i;
}//可以删除
printf("前%d项和为:%f\n",n/2,sum);//可以和下一行简化成
return 0 * printf("前%d项和为:%f\n",n/2,sum);
return 0;//同上
}无法简化
提示,代码精简有的时候可以提高执行的效率,却是以牺牲可读性为代价的,需要谨慎。