湖南中医药大学OJ—1160到1169

1160: 例题5-1-1 连续自然数求和

题目描述
求1+2+3+…+100,即求
要求用while语句实现
输入:

输出:
要求的和,末尾输出换行。

样例输入 Copy

样例输出 Copy
5050

#include<stdio.h>
int main()
{
    
    
    int n=100,a=0,b=0;
    while(n--)
    {
    
    
        a+=1;
        b+=a;
    }
    printf("%d\n",b);
}

1161: 例题5-1-2 连续自然数求和

题目描述
求1+2+3+…+100,即求
在这里插入图片描述
要求用do…while语句实现
输入:

输出:
计算结果,注意末尾输出换行。

样例输入 Copy

样例输出 Copy
5050

#include<stdio.h>
int main()
{
    
    
    int n=100,a=0,b=0;
    do
    {
    
    
        a+=1;
        b+=a;
        n--;
    }while(n);
    printf("%d\n",b);
}

1162: 例题5-1-3 连续自然数求和

题目描述
求1+2+3+…+100,即求
在这里插入图片描述要求用for语句实现
输入

输出
计算结果,末尾输出换行。

样例输入 Copy

样例输出 Copy
5050

#include<stdio.h>
int main()
{
    
    
    int n=100,a=0,b=0,i;
    for(i=0;i<100;i++)
    {
    
    
        a+=1;
        b+=a;
    }
     
    printf("%d\n",b);
}

1163: 例题5-1-4 连续自然数求和

题目描述
输入一个正整数N,求1+2+…+N
要求在程序中使用break语句。
输入
要求输入的数据一定是一个正整数。
输出
计算的结果,连续N个自然数的和,末尾输出换行。

样例输入 Copy
100
样例输出 Copy
5050

#include<stdio.h>
int main()
{
    
    
    int n=0,a=0,b=0,i,N;
    scanf("%d",&N);
    for(i=0;i<10000;i++)
    {
    
    
        a+=1;
        b+=a;
        n++;
        if(n==N)
            break;
    }
     
    printf("%d\n",b);
}

1164: 例题5-1-5 连续自然数求和

题目描述
编程实现求1+2+3+…和的程序,要求得到使使和数大于1000的最小正整数。
输入

输出
输出使1+2+3+…+N>1000的最小正整数N,末尾输出换行。

样例输入 Copy

样例输出 Copy
45

#include<stdio.h>
int main()
{
    
    
    int n=0,a=0,b=0,i,N;
    //scanf("%d",&N);
    for(i=0;i<10000;i++)
    {
    
    
        a+=1;
        b+=a;
        n++;
        if(b>1000)
            break;
    }
     
    printf("%d\n",n);
}

1165: 例题5-5 continue语句的应用

题目描述
要求输出100~200之间不能被3整除的数,并且不输出137,输出的各数之间以空格分隔。输出时,每5个数字一行,注意每行最后一个数字后边不再输出空格。
要求在程序中使用continue语句。
输入

输出
输出时,每5个数字一行,注意每行最后一个数字后边不再输出空格。
最后一个数字后输出换行。

样例输入 Copy

样例输出 Copy
100 101 103 104 106
107 109 110 112 113
115 116 118 119 121
122 124 125 127 128
130 131 133 134 136
139 140 142 143 145
146 148 149 151 152
154 155 157 158 160
161 163 164 166 167
169 170 172 173 175
176 178 179 181 182
184 185 187 188 190
191 193 194 196 197
199 200

#include<stdio.h>
 
int main()
{
    
    
    int n,i=1;
        for(n=100;n<=200;n++,i++)
        {
    
    
            if(n%3==0||n==137)
            {
    
    
                i--;
                continue;   
            }
            printf("%d ",n);
            if(i%5==0)
                printf("\n");
        }
    printf("\n");
    return 0;
}

1166: 例题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个字符的宽度,右对齐。

样例输入 Copy

样例输出 Copy
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 i,j,a;
    for(j=1;j<5;j++)
        for(i=1;i<=5;i++)
        {
    
    
            a=i*j;
 
            printf("%3d",a);
            if(i==5)
            {
    
    
                printf("\n");
            }
        }
    return 0;
}

1167: 例题5-7 求圆周率pi的近似值

题目描述
用如下公式
在这里插入图片描述求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。
要求输出的结果总宽度占10位,其中小数部分为8位。
程序中使用浮点型数据时,请定义为双精度double类型。
如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).
输入

输出
PI=圆周率的近似值
输出的结果总宽度占10位,其中小数部分为8位。
末尾输出换行。

样例输入 Copy

样例输出 Copy
PI=3.14159065

#include<stdio.h>
#include<math.h>
int main()
{
    
    
    double PI=0.0,f2=1.0;
    double x=1.0,y=1;
    while(fabs(y)>=pow(10,-6))//若将y换成x/f2则下面的顺序不讲究;若不换则必须用下面的顺序。
    {
    
    
        PI+=y;//当y的绝对值小于十的负六次方则该项不累加
        f2+=2;
        x=-x;
        y=x/f2;
    }
    PI=PI*4.0;
    printf("PI=%10.8lf\n",PI);
    return 0;
}

1168: 例题5-8 Fibonacci数列

题目描述
输入一个正整数n,求Fibonacci数列的第n个数。Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:
在这里插入图片描述
要求输入的正整数n不超过50.
输入
一个不超过50的正整数
输出
Fibonacci数列的第n个数,末尾输出换行。

样例输入 Copy
20
样例输出 Copy
6765

#include<stdio.h>
int main()
{
    
    
    int n,i,f[50];
    scanf("%d",&n);
    for(i=3;i<=n;i++)
    {
    
    
        f[1]=1;
        f[2]=1;
        f[i]=f[i-1]+f[i-2];
 
    }
 
    printf("%d\n",f[n]);
    return 0;
 
}

1169: 例题5-9 判断素数

题目描述
输入一个大于1的正整数,判断它是否为素数(prime,又称质数)。
如果这个数是素数,则输出yes,否则输出no。
末尾输出换行。
输入
一个大于1的正整数
输出
根据输入数据,判断概述是否为素数。如果这个数是素数,则输出yes,否则输出no。
注意末尾输出换行。

样例输入 Copy
7
样例输出 Copy
yes

#include<stdio.h>
int main()
{
    
    
    int n,i,f[50];
    scanf("%d",&n);
    if(n==2)
    {
    
    
        printf("yes\n");
    }
    else if(n>2)
    {
    
    
        for(i=2;i<n;i++)
        {
    
    
            if(n%i==0)
            {
    
    
                printf("no\n");
                break;
            }else printf("yes\n");break;
        }
 
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43337254/article/details/109605743
今日推荐