• ベストアンサー

計算処理に関して

始めと終わりの値を入力して その間の整数値を加算し 合計を表示できる プログラムを できるけ簡単に 使う関数は少なくできないでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

実際には、もう少しエラーチェックをちゃんとしないといけませんけど #include <stdio.h> void main(void){ long start, end, sum, i; char inpBuff[80]; redo: printf("\n開始の数字を入力して下さい>"); fgets(inpBuff,80,stdin); sscanf(inpBuff,"%ld",&start); printf("\n終了の数字を入力して下さい>"); fgets(inpBuff,80,stdin); sscanf(inpBuff,"%ld",&end); if(start>end){ printf("\n入力された数値の範囲がおかしいです!\n"); goto redo; } for(sum=0L,i=start;i<=end;i++) sum+=i; printf("和は、%ldです\n",sum); }

その他の回答 (1)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

等差数列の和の事でしょうか? 10、11、12、13、14の合計みたいな? 5 * (10 + 14) / 2 (項数) * (初項 + 末項) / 2 int fnc(int a1,int aL) { return ( aL - a1 + 1 ) * ( a1 + aL ) / 2; } int main() { int sum = fnc(10,14); }

参考URL:
http://www.ies.co.jp/LoveMath/1st_grade/tosawa-j/tosawa-j.html