大连理工(MOOC)【1-7周】(在线编程 答案)

第七周:
#include<stdio.h>
int main()
{
    int a[6],i;
    for(i=0;i<6;i++)
        scanf("%d",&a[i]);
        for(i=5;i>=0;i--)  //逆序输出,从大到小
            printf("%d\n",a[i]);
    return 0;
}


#include<stdio.h>
int main()
{
    int a[5],i,j,t;
    for(i=0;i<5;i++)
        scanf("%d",&a[i]);
    for(i=0;i<5;i++)
    {
        for(j=i+1;j<5;j++) //这里 用到是 交换排序法
        {
            if(a[i]<a[j])
            {    t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
                else;
        }
    }
printf("次最大值=%d",a[1]);
return 0;
}


#include<stdio.h>
int main()
{
    int a[6],i,j,k,m;
    for(i=0;i<6;i++)
        scanf("%d",&a[i]);
    
        k=0;
    for(j=1;j<6;j++)
        if(a[j]>a[k])
        {
            k=j;     //类似于 选择排序法,寻找最大值的下标;
        }
        

    m=a[k];
    a[k]=a[5];
    a[5]=m;
    for(i=0;i<6;i++)
        printf("%d\n",a[i]);
    return 0;
}
第六周

#include<stdio.h>
int main()
{
    int tmp, a, b;
    scanf("%d%d", &a, &b);
    while (a%b != 0)
    {
        tmp=a%b;     //求两个数的最大公约数
        a = b;
        b = tmp;
    }
    printf("GCD=%d\n",b);
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    int a,m,i,find;
    find=1;
    float k;
    scanf("%d",&a);
    m=a+1;
    do
    {
        find=1;
        k=sqrt(m);    //素数的计算办法!
        for(i=2;i<=k;i++)      //用连个循环
        if(m%i==0)
        {
            find=0;     
            m++;
            break;  
        }        
    }
        while(!find);

    printf("%d\n",m);
    return 0;
    }


#include<stdio.h>//斐波那契数列
int main()
{
    int a,b,c,sum,count;
    count=1;
    a=1;
    b=1;
    sum=0;
    for(count=1;count<10;count++)
    {
        
          a=a+b;
          b=a+b;   //迭代法
          sum=a+b+sum;

    }
    c=sum+2;//因为第一次相加a和b的时候,漏了最开始的 a b。
    printf("sum=%d\n",c);
    return 0;
}


第5周:
#include<stdio.h>
int main()
{
    int i,sum;
    sum=0;
    for(i=1;i<=100;i++)
    {    
        if(i%3==0&&i%5==1)   //符合的条件
            sum=sum+i;
        else ;       //这一段中,还可以设置为  else continue;(就直接跳到了i++那一段)
    }
    printf("sum=%d\n",sum);
    return 0;
}


#include<stdio.h>
int main()
{
    int i,count;
     float sum,ave;
    sum=0;
    count=0;
    do
    {
        scanf("%d",&i);
        if(i>=0)
        {    sum=sum+i;//  or  sum+=i;
        count++;   //计算输入的个数
        }
    }
    while(i>=0); //记得要加分号
    ave=sum/count;
    printf("AVE=%.2f\n",ave);
        return 0;
}


#include<stdio.h>
int main()
{
     float i,k;
     double sum;
     k=1.0;
    i=1;
    sum=0;
    while((1/i)>1e-5)    //1e-5  表示0.00001   同时 规则:e前面必须有数 后面必须是整数.  2e-5  则为2*0.00001
    {
      sum=sum+k/i;   //注意这里,一定要是小数除法,整型的话,为0;
       i=i+2;
       k=-k;  //或者写成:k=-1.0*k;
       }
    printf("pi=%.2f\n",4*sum);
    return 0;
}


第四周:

#include<stdio.h>
int main()
{
    char ch;
    ch=getchar();//获取单个字符
    ch=(ch>='A'&&ch<='Z')? (ch+32):(ch-32);//条件表达式
    putchar(ch);
    return 0;
}

#include <stdio.h>
int main()
{
    double x,y;
    scanf("%lf",&x);
    if(x<0)
        printf("y=0.00");
    else 
        if(x>=0&&x<=15) //注意 “与”运算的引用  “或” ||   
        {y=(4*x)/3;
            printf("y=%.2f",y);  //if语句包含了两条语句,所以要加大括号, else语句同理。
        }
            else 
            {    y=2.5*x-10.5;
        
            printf("y=%.2f",y);
            }
            return 0;
}


#include<stdio.h>
int main()
{
    float grade;
    int mark;
    scanf("%f",&grade);
    mark=grade/10;
    switch(mark)
    {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:printf("grade:E\n");break;
    case 6:printf("grade:D\n");break;
    case 7:printf("grade:C\n");break;
    case 8:printf("grade:B\n");break;
    case 9:
    case 10:printf("grade:A\n");break;
    default:printf("In put error\n");
    }
    return 0;
}#include<stdio.h>
int main()
{
    float grade;
    int mark;
    scanf("%f",&grade);
    mark=grade/10;
    switch(mark)
    {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:printf("grade:E\n");break;
    case 6:printf("grade:D\n");break;
    case 7:printf("grade:C\n");break;
    case 8:printf("grade:B\n");break;
    case 9:
    case 10:printf("grade:A\n");break;
    default:printf("In put error\n");
    }
    return 0;
}#include<stdio.h>
int main()
{
    float grade;
    int mark;
    scanf("%f",&grade);
    mark=grade/10;
    switch(mark)
    {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:printf("grade:E\n");break;
    case 6:printf("grade:D\n");break;
    case 7:printf("grade:C\n");break;
    case 8:printf("grade:B\n");break;
    case 9:
    case 10:printf("grade:A\n");break;
    default:printf("In put error\n");
    }
    return 0;
}#include<stdio.h>
int main()
{
    float grade;
    int mark;
    scanf("%f",&grade);
    mark=grade/10;
    switch(mark)//  switch()  括号里面只可以是常量。  注意  大括号
    {
    case 0:
                case 1:                                     //switch语句
    case 2:
    case 3:
    case 4:
    case 5:printf("grade:E\n");break;   //   case0到case5  是公用一条语句:printf("grade:E\n");break  
    case 6:printf("grade:D\n");break;   //注意 break语句不可以漏掉  否则 会一直向下进行。
    case 7:printf("grade:C\n");break;
    case 8:printf("grade:B\n");break;
    case 9:
    case 10:printf("grade:A\n");break; //case9到case10公用一条语句,printf("grade:A\n");break;
    default:printf("In put error\n");   //注意  default  语句
    }
    return 0;
}


#include<stdio.h>
int main()
{
    int a,b,c,d,q;
    scanf("%d",&d);
    a=d/100;
    b=d/10%10;       //这几步都是剥离数据:另一种写法;{  z=d%10;d=d/10;x=d%10;d=d/10;c=d%10;}  这个时候就要用 加一个变量,因为d在运行过程中,量变了。
    c=d%10;
    q=a*a*a+b*b*b+c*c*c;
    if(d==q&&d>0)//这一步,其实可以判断输入的是不是三位数
        printf("%d是水仙花数!\n",d);
    else printf("%d不是水仙花数!\n",d);
    return 0;
}

第三周:


#include<stdio.h>
int main()
{
    int a,b,i;
    scanf("%d,%d",&a,&b);
    i=b;    //i的作用为 缓冲变量
    b=a;
    a=i;
    printf("%d,%d",a,b);
    return 0;
}


#include<stdio.h>
int main()
{
    char a;
    a=getchar();
    printf("ASCII=%d",a);    //直接在printf函数中 以%d  形式  输出   {注意:不可以写成getchar(a),但是putchar(a)可以} 
    return 0;                       //而  gets 和 puts   可以   在括号里写。 
}

#include<stdio.h>
#include<math.h>
int main()
{
    float x1,x2;
        int a,b,c;
        a=1,b=1,c=-2;
        x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);    //完全运用公式,记得调用 数学库函数  #include<math.h>
        x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);   //    sqrt(a)  pow(a,b)(相当于 a的b次方)
        printf("x1=%.4f\n",x1);
        printf("x2=%.4f\n",x2);
        return 0;
}            


#include<stdio.h>
#include<math.h>
int main()
{
    int a,b;
        float c,sum;
        scanf("%d%d%f",&a,&b,&c);    //计算利息  
    sum=a*pow(1+c,b);
        printf("sum=%7.2f",sum);
        return 0;
}

第二周:

#include<stdio.h>
#define pi 3.1415    //定义了  宏变量
int main()
{
    float r,area;
    r=4.3;
    area=pi*r*r;
    printf("Area=%.2f\n",area);
    return 0;
}

#include<stdio.h>
#include<math.h>
int main()                                              
{
    double x;
    scanf("%lf",&x);                               
    printf("%f\n",sqrt(x));
    return 0;
}

#include<stdio.h>
int main()
{
    int x,a,b,c,y;
    scanf("%d",&x);
    a=x/100;
    b=(x-100*a)/10;    //同样是剥离数据的思想。  同样可以这样写: z=d%10;d=d/10;x=d%10;d=d/10;c=d%10
    c=x%10;
    y=c*100+b*10+a;
    printf("y=%d\n",y);
    return 0;
}


第一周:
#include <stdio.h>
int main()
{
    printf("Hello World!\n");
    return 0;
}


#include<stdio.h>
int main()
{
    printf("Hello C!\nI like programming.\n");  \\在每个语句 后面(若要换行),直接接\n.
    return 0;         \\或者,写完一个语句后,换行 写:printf("\n");
}

#include<stdio.h> 
int main() { int a,b ; 
  scanf("%d %d",&a,&b); 
  printf("%d\n",a*b);
  
}

  • 12
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值