首页 > 其他 > 详细

实验三

时间:2019-11-16 17:59:16      阅读:98      评论:0      收藏:0      [点我收藏+]

Part2:

#include <stdio.h>
#include <stdlib.h>
int main() {
    int number, max, min, n;
    
    n=1;
    printf("输入第%d个数: ", n);
    scanf("%d", &number);
    max = number;
    min = number;
    
    while(n<5) {
        n++;
        printf("输入第%d个数: ", n);
        scanf("%d", &number);    

        if(number>max)
            max = number;
        else if(number<min)
            min = number;
    }
    
    printf("最大数为: %d\n", max);
    printf("最小数为: %d\n", min);
    
    system("pause");
    
    return 0;
} 

技术分享图片

Part3:

 练习一:

#include<stdio.h>
#include<math.h>
int isprime(int n);
int main()
{
    int i,m=0;
    for(i=101;i<=200;i++)
    {
        if(isprime(i))
        {
            printf("%4d",i);
            m++;
        }
    }
    printf("101~200之间共有%d个素数\n",m);
    return 0;
}
int isprime(int n)
{
    int k;
    for(k=2;k<=sqrt(n);k++)
         if(n%k==0)
                return 0;
            return 1;
}

 

技术分享图片

练习二:

 

#include<stdio.h>
int main() {
    long int s;
    int t, sum=0, a=10,b=1,n=1,m=1;
    scanf("%ld",&s); 
    while(s/a!=0){
        a=10*a;
        n++;
    }
    while(m<=n){
        t=s%10;
            if(t%2!=0){
            sum=sum+b*t;
            b=10*b;
        }
            s=s/10;
            m++;
    }
    printf("%ld",sum);
    return 0;
}

技术分享图片

拓展:

#include<stdio.h>
int main() {
    long int s;
    int t, sum=0, a=10,b=1,n=1,m=1;
    while(scanf("%ld",&s)){
        int t, sum=0, a=10,b=1,n=1,m=1;
    while(s/a!=0){
        a=10*a;
        n++;
    }
    while(m<=n){
        t=s%10;
            if(t%2!=0){
            sum=sum+b*t;
            b=10*b;
        }
            s=s/10;
            m++;
    }
    printf("%ld\n",sum);
}
    return 0;
}

技术分享图片

 练习三:

#include<stdio.h>
int main(){
    int n,a,c=1;
    float m=0,t=1,s=0;
    printf("Enter n and a:\n");
    scanf("%d%d",&n,&a);
    while(t<=n){
        m=m+c*a;
        s=s+t/m;
        c=10*c;
        t++;
    }
    printf("s=%f\n",s);
    return 0;
}

技术分享图片

拓展:

#include<stdio.h>
int main(){
    int n,a,c=1;
    float m=0,t=1,s=0;
    printf("Enter n and a:\n");
    ;
    while(scanf("%d%d",&n,&a)){
    while(t<=n){
        m=m+c*a;
        s=s+t/m;
        c=10*c;
        t++;
    }
    printf("s=%f\n",s);
}
    return 0;
}

技术分享图片

实验与总结:

通过本次实验,对于while的使用更熟练了,也知道了如何连续输出;

踩得坑有,在练习三中定义未知数时没有注意到整形还是浮点型,导致结果一直是零  

                  拓展中没有把定义一起包含在while中

问题有:在实验二中数据长一点,结果就变成负数,不是很懂为什么

               拓展里弄成连续输出,在实验二需要把定义放在里面,实验三我没有放,似乎也能行?

实验三

原文:https://www.cnblogs.com/syl123/p/11853987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!