黑马程序员技术交流社区
标题: 1111—练习-利用while循环计算并输出:1-2+3-4+5-6+7…+n的和 [打印本页]
作者: donkey2 时间: 2014-11-11 16:29
标题: 1111—练习-利用while循环计算并输出:1-2+3-4+5-6+7…+n的和
本帖最后由 donkey2 于 2014-11-15 10:04 编辑
题目:提示用户输入一个正整数n,利用while循环计算并输出:1-2+3-4+5-6+7…+n的和
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
// NSLog(@"Hello, World!");
int n,sum;
NSLog(@"请输入一个正整数");
scanf("%i",&n);
if (n % 2 == 0) {
sum = (-1)* n/2;
}
else if(n % 2 == 1){
sum = (-1)*(n-1)/2 + n;
}
NSLog(@"1-2+3-4+5-6+7…+n的和为%i",sum);
}
return 0;
}
问题:
是实现了结果的计算,但是没有用到while循环,思路不同。待会儿再来~
作者: 大鱼吃小鱼 时间: 2014-11-11 16:42
来混个脸熟
作者: donkey2 时间: 2014-11-11 16:55
#include <stdio.h>
int main()
{
// 1.定义变量存储用户输入的整数
int n = 0;
// 2.判断n是否为正整数
while (n <= 0) {
// 2.1 提示输入
printf("输入一个正整数:\n");
// 2.2 让用户输入
scanf("%d", &n);
}
// 3.计算阶乘
int sum = 0; // 存储计算结果
int current = 0; // 当前要累加的数值
while (current < n) {
current++;
// 如果是偶数,就减
if (current % 2 == 0) {
sum -= current;
} else { // 如果是奇数,就加
sum += current;
}
}
// 4.输出结果
printf("%d\n", sum);
return 0;
}这种方法声明了一个current ,用来累加,逢偶数减,逢奇数加。
用while( current < n ) 来控制循环的次数。
这也是个不错的思路,不用做过多的分析。
作者: 黑马黄武先 时间: 2014-11-11 22:02
哥们学的是c??
作者: donkey2 时间: 2014-11-11 23:44
是啊,是学objective-c 来着,有很多类似的地方。
作者: 黑马黄武先 时间: 2014-11-12 00:19
我说呢,,,有点像java
作者: 早起的虫 时间: 2014-12-2 20:17
#include<stdio.h>
int main()
{
printf("请输入一个正整数:\n");
int n;
scanf("%d",&n);
int i=1;
int sum=0;
while(i<=n)
{
if(i%2!=0)
{
sum+=i;
i++;
}
else
{
sum-=i;
i++;
}
}
printf("%d\n",sum);
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |