c語言1到100累加和
清楚算法就可以很快寫出:
(1)只需輸入2個變量n和sum,且sum=n+sum.
(2)確定n的范圍為n<=100
(3)循環體為
for(n=1;n<=100;n++)
sum+=n;
(4)根據C語言編輯規則寫出程序
用for循環求:
#include<stdio.h>
int main(void)
{
int n,sum=0;
for(n=1;n<=100;n++)
sum+=n;
printf("1+2+。+100=%d\n",sum)
return 0;
}
程序運行結果:
1+2+。+100=5050
擴展資料:
for( i=1; i<=100; i++ ) sum=sum+i;
先給i賦初值1,判斷i是否小于等于100,若是則執行語句,之后值增加1。再重新判斷,直到條件為假,即i>100時,結束循環。相當于:
i=1;
while(i<=100){
sum=sum+i;
i++;
}
對于for循環中語句的一般形式,就是如下的while循環形式:
表達式1;
while(表達式2){
語句
表達式3;
}
使用for語句應該注意:
1) for循環中的“表達式1(循環變量賦初值)”、“表達式2(循環條件)”和“表達式3(循環變量增量)”都是選擇項,即可以缺省,但分號(;)不能缺省。
2) 省略了“表達式1(循環變量賦初值)”,表示不對循環控制變量賦初值。
3) 省略了“表達式2(循環條件)”,則不做其它處理時便成為死循環。例如:
for( i=1; ; i++ ) sum=sum+i;
相當于:i=1;
while(1){
sum=sum+i;
i++;
}
4) 省略了“表達式3(循環變量增量)”,則不對循環控制變量進行操作,這時可在語句體中加入修改循環控制變量的語句。例如:
for( i=1; i<=100 ; ){
sum=sum+i;
i++;
}
5) 省略了“表達式1(循環變量賦初值)”和“表達式3(循環變量增量)”。例如:
for( ; i<=100 ; ){
sum=sum+i;
i++;
}
相當于:
while(i<=100)
{sum=sum+i;
i++;
}
6) 3個表達式都可以省略。例如:
for( ; ; ) 語句
相當于:
while(1) 語句
7) 表達式1可以是設置循環變量的初值的賦值表達式,也可以是其他表達式。例如:
for( sum=0; i<=100; i++ ) sum=sum+i;
8) 表達式1和表達式3可以是一個簡單表達式也可以是逗號表達式。
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
9) 表達式2一般是關系表達式或邏輯表達式,但也可是數值表達式或字符表達式,只要其值非零,就執行循環體。例如:
for( i=0; (c=getchar())!='\n'; i+=c );
又如:
for( ; (c=getchar())!='\n' ; )
printf("%c",c);
參考資料:for循環_百度百科
求sql語句,累加
SQL Server 2008 測試通過:
;WITH goods AS (
SELECT 1 AS id, 1 AS price
UNION ALL
SELECT 2 AS id, 4 AS price
UNION ALL
SELECT 3 AS id, 6 AS price
UNION ALL
SELECT 4 AS id, 8 AS price
), tmpTable AS (
SELECT a.*, ROW_NUMBER() OVER(ORDER BY *, *) AS px
FROM goods a, *_values b /* 用這表取到的數值只能 到2047,所以如果要判斷的數大于這個,就要用其他函數等來替代 */
WHERE * BETWEEN 1 AND * AND * ='P'
)
SELECT * FROM goods a WHERE EXISTS(SELECT TOP 1 1 FROM tmpTable aa GROUP BY id HAVING * =* AND MAX(*) <=15)
一個累加的C語言程序
#include <stdio.h>
int main()
{
int x, y; //輸入的數字
int temp, i; //交換、循環用變量
int sum = 0; //累加合
printf("請輸入兩個數字:");
scanf("%d%d",&x,&y);
if(x > y) //如果x>y則交換,保證x為較小的數
{
temp = x;
x = y;
y = temp;
}
for(i = x; i <= y; i++) //計算累加和
sum = sum + i;
printf("%d到%d的累加合為%d\n",x,y,sum); //輸出
return 0;
}
SQL語句如何實現數據的累加
假設原來的表是t1:declare @t table ([date] int,sale int,[sum] int)declare @dt int,@sale int,@sum intdeclare @c cursorset @sum=0set @c=cursor forward_only read_only for select * from t1 order by dtopen @cfetch next from @c into @dt,@salewhile @@fetch_status=0begin set @sum=@sum+@sale insert @t values (@dt,@sale,@sum) fetch next from @c into @dt,@saleendclose @cdeallocate @cselect * from @t這是用存儲過程實現,至于如何用一條語句實現,我想不出來。