面向过程程序设计——循环结构程序设计(1)

本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。

输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。

在一行中按照”sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

5 10
sum = 355.845635
#include<stdio.h>
int main()
{
    int m=0;
    int n=0;
    double sum=0;
    scanf("%d %d",&m,&n);
        int i=0;
        for(i=m;i<=n;i++) { sum="sum+i*i+1/(double)i;" } printf("sum="%.6lf",sum);" return 0; }< code></=n;i++)></stdio.h>

本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

输入在一行中给出一个长整型范围内的非负整数。

从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。

123456
1 2 3 4 5 6
#include<stdio.h>
int main()
{
    long a=0;
    scanf("%ld",&a);
    long count =1;
    long b=a;
    while((b/10)!=0)
    {
        b/=10;
        count*=10;
    }
    while(count!=0)
    {
        printf("%ld ",a/count);
        a%=count;
        count/=10;
    }
    return 0;
}</stdio.h>

自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。

输入第一行中给出非负整数 n(≤1000)。

在一行中输出部分和的值,保留小数点后八位。

10
2.71828180
#include<stdio.h>
int main()
{  int n,i; double b=1,sum=0;
     scanf("%d",&n);
      for(i=1;i<=n;i++) { b*="i;" sum+="1.0/b;" } printf("%.8lf",sum+1); return 0; }< code></=n;i++)></stdio.h>

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?

输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。

在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。

33 5
94.9 1.0
#include<stdio.h>
#include<math.h>
int main()
{
    int i,h,n;
    float s=0.0,z=0.0,k=2.0;
    scanf("%d %d",&h,&n);
    if(n>0) {
     s=h;
    for(i=1;i<=n;i++){ s="s+2.0*z;" z="h/k;" k="k*2;" } printf("%0.1f %0.1f",s,z); return 0; }< code></=n;i++){></math.h></stdio.h>

1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。

输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。

显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。

注意:如果全部方案不到n种,就顺序输出全部可能的方案。

1 46 53
2 42 56
3 38 59
4 34 62
5 30 65
#include<stdio.h>
int main()
{
    int n=0;
    scanf("%d",&n);
    int i,j,k;
    int count=0;

    for(i=1;i<100;i++) 100 { for(j="1;j<100;j++)" for(k="1;k<100;k++)" if(i+j+k="=" && i*5+2*j+k="=" 150) count++; if(count<n) printf("%d %d %d\n",i,j,k); } if(count="=" n) %d",i,j,k); return 0; }< code></100;i++)></stdio.h>

对于给定的正整数N,求它的位数及其各位数字之和。

输入在一行中给出一个不超过109的正整数N。

在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

321
3 6
#include<stdio.h>
int main()
{
    int n=0;
    scanf("%d",&n);
    int count=0;
    int sum=0;
    while(n!=0)
    {
           sum+=n%10;
           count++;
           n/=10;
    }
    printf("%d %d",count,sum);
    return 0;
}</stdio.h>

本题要求编写程序,打印一个高度为n的、由”*”组成的正菱形图案。

输入在一行中给出一个正的奇数n。

输出由n行星号”*”组成的菱形,如样例所示。每个星号后跟一个空格。

#include<stdio.h>
int main()
{
    int n=0;
    scanf("%d",&n);
    if(n%2!=0)
    {
        for(int i=1;i<=n 2+1;i++) { for(int j="1;j<=(n+1)/2-i;j++)" printf(" "); } m="1;m<=2*i-1;m++)" printf("* printf("\n"); l="1;l<=n/2;l++)" z="1;z<=l;z++)" k="1;k<=n-2*l;k++){" return 0; }< code></=n></stdio.h>

所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。

输入在一行中给出2个正整数m和n(1

Original: https://blog.csdn.net/LxinY213/article/details/127818256
Author: Pei213
Title: 面向过程程序设计——循环结构程序设计(1)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/654616/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球