实验2与实验3(T-T)

实验2

实验任务一

//ex1.cpp
#include <stdio.h>
#include<stdlib.h>
int main(){
    int a=5, b=7, c=100, d, e, f;

    d = a/b*c;
    e = a*c/b;
    f = c/b*a;
    printf("d=%d, e=%d, f=%d\n",d,e,f);
    system("pause");
    return 0;
}

运算符*的优先级为2,运算符/优先级为3,先运算*(此为用VS2010敲的代码,之后为DEV C++)

实验任务2

//ex2.cpp
#include<stdio.h>
#include<stdlib.h>
int main(){
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="Hello,world!";
    int y=3,z=4;

    printf("%d %d\n",y,z);
    printf("y=%d, z=%d\n",y,z);
    printf("%8d,%2d\n",x,x);
    printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);
    printf("%lf\n",m);
    printf("%3c\n",ch);
    printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);

    system("pause");
    return 0;
}

ex3.cpp

//ex3.cpp
#include<stdio.h>
int main(){
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    scanf("%d%d%d",&a1,&a2,&a3);
    printf("%d,%d,%d\n",a1,a2,a3);
    scanf("%c%c%c",&c1,&c2,&c3);
    printf("%c%c%c\n",c1,c2,c3);
    scanf("%lf,%lf",&x,&y);
    printf("%f,%lf\n",x,y);
    return 0;
}

ex4.cpp

//ex4.cpp
#include<stdio.h>
int main(){
    char x;

    x=getchar();

    if(x>='0'&&x<'9')
        printf("%c是数字字符\n");
    else if(x>='A'&&x<='Z'||x>='a'&&x<='z')
        printf("%c是英文字母\n",x);
    else
        printf("%c是其他字符\n",x);
        return 0;
}

ex5.cpp

//ex5.cpp
#include <stdio.h>
int main(){
    char ans1,ans2;
    
    printf("复习好了没?(输入y或Y代表复习了,输入n或N表示没复习)"); 
    ans1 = getchar();
    getchar() ;
    
    printf("\n动手敲代码了没?(输入y或者Y表示敲了,输入n或N表示木有敲):");
    ans2 = getchar();
    
    if(ans1=='y'||ans1=='Y'&&ans2=='n'||ans2=='N')
       printf("\n罗马不是一天建成的:)");
    else
       printf("\n罗马不是一天毁灭的。。。\n") ;
       
       return 0;
}

ex6.cpp

//ex6.cpp
#include<stdio.h>
#include<math.h>
int main(){
    const int x=2;
int sum;
    double n;
    printf("请输入一个1~10的n:\n");
    scanf("%lf",&n);
    sum=1*(1-pow(x,n+1))/(1-x);

    printf("n=%lf,sum=%d",n,sum);

    return 0;
}

任务六为请教同学所作。

任务七暂时不会。

 

实验3

ex1.cpp

//一元二次方程求解
//重复执行,直到按Ctrl+Z结束
//
#include <math.h>
#include <stdio.h>

int main(){
    float a, b, c, x1, x2;
    float delta, real, imag;
    
    printf("Enter a, b, c:");
    
    while(scanf("%f%f%f", &a, &b, &c)!=EOF){
        if(a==0)
        printf("not quadratic equation.\n\n");
        else {
            delta = b*b-4*a*c;
            
            if(delta >= 0){
                x1 = (-b + sqrt(delta))/(2*a);
                x2 = (-b - sqrt(delta))/(2*a);
                printf("x1 = %.2f,x2 = %.2f\n\n", x1, x2);
            
                }
            else {
                real = -b/(2*a);
                imag = sqrt(-delta)/(2*a);
                printf("x1 = %.2f + %.2fi, x2 = %.2fi\n\n",real,imag,real,imag);
                
            }
                }
                printf("Enter a, b, c:");
                
    } 
           return 0;
       }

ex2,cpp

//生成N个0~9之间的随机整数,并打印输出
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5

int main(){
    int x,n;
    
    srand(time(0));
    n = 0;
    do{
        n++;
        x = rand()%10;
        printf("%3d",x);
    }while(n<N);
    
    printf("\n");
    
    return 0;
}

ex3.cpp

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
    int m,n;
    int i=0;
    
    for(m=101;m<=200;m++)
    {
    for(n=2;n++;n<=m)
    {
        if(m%n==0)break;}
        
    
    if(n>=m)
        {
        printf("%5d",m);
        i++;
        if(i%5==0)printf("\n");
    }
 

}
printf("\n");
printf(" 101~200之间有%d个素数\n",i);
return 0;
}

ex4.cpp

算法思路:

输入整型数字除10取出,取出后与2取余判断是否为奇数。

排序按照先后顺序乘10的几次方,第n次取得的数乘n-1次方,以此类推。

#include<stdio.h>
#include<math.h>
int main ()
{
    long x,y,z;
    printf("Enter a number:");
    while(scanf("%ld",&x)!=EOF)
{
    long i=0,z=0;
    while(x>0)
    {
    y=x%10;
    if(y%2!=0)
    {
        z=z+y*pow(10,i);
        i++;
    }
    x=x/10;
    
    }
    
printf("new number is:%ld\n",z);
printf("\nEnter a number:");
}
return 0;
}

ex5.cpp

#include<stdio.h>
#include<math.h>
int main(){
    int m,n;
    float x;
    printf("Enter n(1~10):");
    while (scanf("%d",&n)!=EOF){
        float x=0,y=0;
        for(m=1;m<=n;m++){
            y=y*m;
            x=x+pow(-1,m-1)*(1/y);
        }
        printf("n=%d,x=%f\n",n,x);
        printf("Enter n(1~10):");
    }
    return 0;
}

ex6.cpp

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
    int m,n,x=1,y=0;
    int ret=0;
    srand(time(0));
    n=rand()%30+1;
    
    printf("猜猜2020年12月哪一天会是your luck day!\n");
    printf("开始喽,你有三次机会,来吧(1~31):");
    scanf("%d",&m);
    while(x<=3){
        if(m==n){
            printf("你猜的日期是正确的!\n");
            ret=1;
            break;
        }else if(m>n){
            printf("你猜的日期晚了,luck day悄悄溜到前面啦!\n");
            printf("再猜!");
            scanf("%d",&m);
            x++; 
        }else{
            printf("你猜的日期早了,luck day还没到呢!\n");
            
            printf("再猜(1~31):");
            scanf("%d",&m);
            x++;
        }
    }
    if(ret=0)printf("次数用完了,偷偷告诉你:12月,你的luck day是:%d",n);
  return 0;
}
    

posted on 2020-12-29 20:07  helianthus-JUN  阅读(107)  评论(0编辑  收藏  举报

导航