实验三

 

这个我明明输进去的是一个可以有解的二次方程但是结果出不来,这个我没改过老师的代码啊。疑惑?

#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;
} 



#include<stdio.h>
#include<math.h>
int isprime(int n);
int main()
{
    int i;
    int cnt=0;
    for(i=101;i<=200;i++)
    {
        if(isprime(i))
            {
            cnt++;
            printf("%4d",i);
            }
    }
            printf("%4d",cnt);

    return 0;
 } 
 int isprime(int n)
 { 
    int k;
    for(k=2;k<=sqrt(n);k++)
        if(n%k==0)
            return 0;
        return 1;
    
    
 }

这个我做一开始把cnt的输出放到了for循环里面(但是cnt++得整进去),所以每个数字后面就输出了一个cnt,后面改了,但是我想把那个个数和上面的素数分开没搞成。

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

这个前面两个都可以正确,后面数位一多就错了,这是为什么?数位太长了吗?

posted on 2019-11-19 23:21  runwild  阅读(82)  评论(1)    收藏  举报