作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
1.求1到100的和
本题要求编写程序,计算表达式 1 + 2 + 3 + ... + 100 的值。
输入格式:
本题无输入。
输出格式:
按照以下格式输出:
sum = 累加和
设计思路:
定义变量i和sum,令sum=0。使用for循环令i=1,i<=100,i=i+1,进行sum=sum+i的循环,当i=101跳出循环,以“sum = 正整数”的形式输出。
代码
#include<stdio.h> int main(void) { int i,sum; sum = 0; for(i=1;i<=100;i++){ sum = sum + i;} printf("sum = %d\n",sum); system("pause"); return 0; }
流程图:
无错误, 程序运行结果截图:
调试过程图:
求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过109的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
解题思路:
定义4个整型变量N,temp,i=0,sum=0,输入N值,将N的值赋给temp,进行while循环使sum=sum+temp%10;temp=temp/10;i++;最后输出i和sum;
代码:
#include <stdio.h> int main(void) { int N, temp, i = 0, sum = 0; scanf("%d", &N); temp = N; while (temp) { sum += temp % 10; temp /= 10; i++; } printf("%d %d\n", i, sum); return 0; }
流程图:
无错误,调试过程:
求m到n之和
本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。
函数接口定义:
int sum( int m, int n );
其中m
和n
是用户传入的参数,保证有m<n。函数返回的是m~n之间所有整数的和。
裁判测试程序样例:
#include <stdio.h>
int sum(int m, int n);
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("sum = %d\n", sum(m, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
-5 8
输出样例:
sum = 21
解题思路:
定义变量sum=0,i,result。使用for循环,最终输出sum值
代码:
int sum( int m, int n ) { int i,sum=0,result; for(i=m;i<=n;i++){ sum=sum+i; result=sum; } return sum; }
流程图:
开始编写时出现:
发现少了一个{
添加后正确:
调试过程:
结果:
个人总结:
我们又学了嵌入式的循环以及函数的使用,感觉C语言更加的神奇了,并且实际编码行数也在逐渐的增加。
不过对于函数使用和理解解读还是存在一定的困难。
评论他人博客:
https://www.cnblogs.com/1006cy/p/10034337.html 陈洋
https://www.cnblogs.com/asdfghjklasdfghjkl/p/10003892.html 孙成龙