| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1525 人关注过本帖
标题:[求助]用for和while编写程序
只看楼主 加入收藏
lucy198352
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-9-20
收藏
 问题点数:0 回复次数:20 
[求助]用for和while编写程序


问题:把一个整数值读到n中,如果n不是负数,那么从n 到2*n做累加;如果n是负数,那么从2*n到n做累加。用两个版本编写程序:一个版本仅用for循环,另一个版本仅用while循环。

已经认真想过了,这是我写的。
#include<stdio.h>

int main(void)
{
int n, i = 0 ,sum = 0;

printf("Please input your integer:");
scanf("%d",&n);
if ( n >= 0){
for(i = 0; i <= n + 1 ; ++i) i代表循环的次数,n到2*n之间的数应该有n + 1个
{ 可是这样写n会随下面的++ n的变化而变化,
sum += n; 应该怎样写呢
++ n;
}
printf("Sum is %d",sum);
}
return 0;
}

请大家指教!谢谢!

[此贴子已经被作者于2006-11-23 19:30:53编辑过]

搜索更多相关主题的帖子: 编写 
2006-11-23 19:27
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
用另一个变量预先赋n的值,然后在循环中将n改为那个变量的名,应该就行了

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-23 19:36
lucy198352
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-9-20
收藏
得分:0 

#include<stdio.h>

int main(void)
{
int n, m, i = 0 ,sum = 0;

m = n;

printf("Please input your integer:");
scanf("%d",&n);
if ( n >= 0){
for(i = 0; i <= m + 1 ; ++i)
{
sum += n;
++ n;
}
printf("Sum is %d",sum);
}
return 0;
}
你说的是这个意思吗?这样也不行的。


天下事,仰而跂之则难,俯而就之甚易。
2006-11-23 19:56
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
for(i=n;n<=2*i;n++)
sum+=n;
这个符合你要求吗。

谁有强殖装甲第二部,可以Q我460054868
2006-11-23 20:09
KEVIN_LEE
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-11-3
收藏
得分:0 
for(i = 1; i <= m + 1; ++i)
{
sum += n;
++ n;
}
这样可以了吗?
2006-11-23 20:22
lucy198352
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-9-20
收藏
得分:0 

#include<stdio.h>

int main(void)
{
int n, m, i = 0 ,sum = 0;

m = n;

printf("Please input your integer:");
scanf("%d",&n);
if ( n >= 0){
for(i=n;n<=2*i;n++)
{
sum += n;
}
printf("Sum is %d",sum);
}
return 0;
}
这样就对了。谢谢!


天下事,仰而跂之则难,俯而就之甚易。
2006-11-23 20:27
lucy198352
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-9-20
收藏
得分:0 
以下是引用KEVIN_LEE的发言:
for(i = 1; i <= m + 1; ++i)
{
sum += n;
++ n;
}
这样可以了吗?

刚试了,也不行的。我还没想出为什么。再想想。

先回家吃饭了。


天下事,仰而跂之则难,俯而就之甚易。
2006-11-23 20:32
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

LZ很踏实,我喜欢,不过像int n, m,i ,sum = 0;也可以.
for(i=n;n<=2*i;n++)
{
sum += n;
}


谁有强殖装甲第二部,可以Q我460054868
2006-11-23 20:38
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 
以下是引用lucy198352在2006-11-23 19:56:34的发言:

#include<stdio.h>

int main(void)
{
int n, m, i = 0 ,sum = 0;

//m = n;

printf("Please input your integer:");
scanf("%d",&n);
m=n;
if ( n >= 0){
for(i = 1; i <= m + 1 ; ++i)
{
sum += n;
++ n;
}
printf("Sum is %d",sum);
}
return 0;
}
你说的是这个意思吗?这样也不行的。

这样 就可以了 不过 还是 c斑竹精妙~~

2006-11-23 20:56
slong
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-11-9
收藏
得分:0 

#include<stdio.h>

int main(void)
{
int n, m, i = 0 ,sum = 0;

printf("Please input your integer:");
scanf("%d",&n);
m = n;
if ( n >= 0){
for(i = 0; i <= m + 1 ; ++i)
{
sum += n;
++ n;
}
printf("Sum is %d",sum);
}
return 0;
}

2006-11-23 20:57
快速回复:[求助]用for和while编写程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.062005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved