时间:2023.04.03 21:02
主题:《算法笔记》2.4小节——C/C++快速入门->循环结构
题目来自:首页 - Codeup新家
问题 D: 例题5-1-4 连续自然数求和
题目描述
输入一个正整数N,求1+2+...+N,即求
要求在程序中使用break语句。
输入
要求输入的数据一定是一个正整数。
输出
计算的结果,连续N个自然数的和,末尾输出换行。
样例输入
100
样例输出
5050
代码展示:
#include<stdio.h>
int main()
{
int i, n, sum=0;
scanf("%d\n", &n);
for(i=1;i<=n;i++)
{
sum=sum+i;
if(i>n)
break;
}
printf("%d\n", sum);
return 0;
}
问题 F: 例题5-6 矩阵输出
题目描述
输出以下4*5的矩阵
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
要求使用循环实现,注意每行输出5个数字,每个数字占3个字符的宽度,右对齐。
输入
无
输出
每行输出5个数字,每个数字占3个字符的宽度,右对齐。
样例输入
无
样例输出
1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20
代码展示:
#include<stdio.h>
int main()
{
int a[4][5]={{1,2,3,4,5},{2,4,6,8,10}, {3,6,9,12,15},{4,8,12,16,20}};
int i, j;
for (i=0; i<4; i++)
{
for(j=0; j<5; j++)
{
printf("%3d", a[i][j]);
}
printf("\n");
}
return 0;
}
问题 G: 例题5-7 求圆周率pi的近似值
题目描述
用如下公式
求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。
要求输出的结果总宽度占10位,其中小数部分为8位。
程序中使用浮点型数据时,请定义为双精度double类型。
如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).
输入
无
输出
PI=圆周率的近似值
输出的结果总宽度占10位,其中小数部分为8位。
末尾输出换行。
样例输入
无
样例输出
PI=3.14159065
代码展示:
#include <stdio.h>
#include <math.h>
int main()
{
double PI = 0, n = 1, temp = 1.0/n, flag;
for(flag = 1; fabs(1/n)>=1e-6; temp = 1.0/n){
PI = PI + temp * flag;
flag = -flag;
n = n+2;
}
printf("PI=%10.8f\n", PI*4.0);
return 0;
}