首页 > 代码库 > 测试题的答案(技术博客)

测试题的答案(技术博客)

   根据老师的要求,我把上次测试的答案汇总了下,将程序写的得到满分的答案给挑了出来,希望大家不要追究版权问题,若有问题,我们私下武力解决问题。

   第一题:从键盘输入一个大写字母,要求改用小写字母输出。(这道题老师课堂上讲过,大家都应该没有问题)

#include<stdio.h>
int main()
{
    char c;
    printf("请输入一个大写字母:");
    c = getchar();
    if(c>=A && c<=Z){
        c = c + 32;
        printf("转换后的小写字母为:%c\n",c); 
    }
}

 技术分享

  第二题:      求ax2+bx+c=0方程的解(第二题班里没有满分,只有四个5分)

       技术分享

       技术分享

#include<stdio.h>
#include <math.h>
    int main(){
    int a,b,c,i;
    float x1,x2,p,q;
    printf("请输入a,b,c    的值:");
    scanf("%d%d%d",&a,&b,&c);
    if(a==0)
        printf("非二元一次方程。\n");
    else if(b*b-4*a*c==0)
        printf("有两个相等的实数根%f\n",-1*b/2.0*a);
    else if(b*b-4*a*c>0){
        x1=-1*b+sqrt(b*b-4*a*c)/2.0*a;
        x2=-1*b-sqrt(b*b-4*a*c)/2.0*a;
        printf("有两个实数根x1=%f x2=%f\n",x1,x2);
    }
    else if(b*b-4*a*c<0){
        p=-1*b/2*a;
        q=sqrt(-1*(b*b-4*a*c));
        printf("两个复跟:%f+%fi  %f-%fi\n",p,q,p,q);
    }
    return 0;
}

 技术分享 

第三题: 任给三角形的三边,判断该三角形是等边、等腰、直角或一般三角形。

#include<stdio.h>
#include <math.h>
int main()
{
    float a,b,c,;
    printf("请输入三角形三边的长:\n");
    scanf("%f%f%f",&a,&b,&c);
    if(a+b>c&&a+c>b&&b+c>a)
    {
         if(a==b && b==c)
         printf("该三角形为等边三角形!\n");
         else
         {
             if((a==b && b!=c)||(b==c && b!=a)||(a==c && c!=a))
             printf("该三角形为等腰三角形!\n");
             else
             {
                 if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
                 printf("该三角形为直角三角形!\n");
                 else
                 {
                     printf("该三角形为一般三角形!\n");
                 }
             }
         } 
    }
        else{
        printf("不能构成三角形\n");
    }
    return 0;
}

 技术分享

技术分享

技术分享

  第四题:写程序,判断某一年是否闰年

#include<stdio.h>
    int main(){
    int year,leap;
    printf("随便输入一个年份呗: ");
    scanf("%d",&year);
    if(year%4==0){
        if(year%100==0){
            if(year%400==0){
                leap=1;
            }
            else{
                leap=0;
            }
        }
        else{
            leap=1;
        }
    }
    else
        leap=0;
    if(leap){
        printf("呦!难得一见的闰年\n");
    }
    else{
        printf("亲它并不是闰年\n");
    }
    return 0; 
}

技术分享技术分享

第六题:打印乘法99表

#include<stdio.h>
    int main()
{
    int i,j,k;
       printf("\n\n九九乘法表:\n\n\n");
    for(i=1;i<=9;i++)
    {
    for(j=1;j<=i;j++)
    {
    k=i*j;
    printf("%dX%d=%-3d  ",j,i,k);
}
    printf("\n");
}
getchar();
getchar();
}

技术分享

 

第七题:.斐波那契数列的前几项是:1、1、2、3、5、 8、13、21、34……编写程序输出该数列的前13项。(每行输出5个数)

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

技术分享

 第八题:计算表达式的值,直到某一项的值小于10-3为止。(第八题大家做了的很少)

#include<stdio.h>
int main()
{
    int i;
    double sum=0,item=0.5;
    for(i=1;item>0.001;i++)
    {
        item=1.0/(i*(i+1));
        sum=sum+item;
    }
    printf("%1f\n",sum);
    return 0;
} 

  

  第九题:编程序,求一批非零整数中的偶数、奇数的平均值。用零作为终止标记。(这道题班里做对的也不多)

void f9()
{
    int n;
    int jishusum=0;
    int oushusum=0;
    int jishucount=0;
    int oushucount=0;
    printf("请输入若干个非零整数(以零为终止标记):");
    scanf("%d",&n);
    while(n)
    {
        if(n%2){
            jishusum+=n;jishucount++;
        }
        else{
            oushusum+=n;oushucount++;
        }
        scanf("%d",&n);
    }
    printf("奇数平均值:%f\n",1.0*jishusum/jishucount);
    printf("偶数平均值:%f\n",1.0*oushusum/oushucount);
}

 

    技术分享

  第十题:任意十个数,打印它们中的最大数与最小数。

 

#include<stdio.h>
int main()
{
    int i = 0,a[10];
    int max = 0,min = 0,sum = 0;
    printf("请输入你要计算的十个数: "); 
    float pj = 0;;
    for(i = 0;i < 10;i ++)
        scanf("%d",a+i);
    max = min = a[0];
    for(i = 1;i < 10;i ++)
        if(max < a[i])
            max = a[i];    
   for(i = 1;i < 10;i ++)
       if(min > a[i])
           min = a[i];
    for(i = 0;i < 10;i ++)
        sum += a[i];
    pj = sum / 10.0;
    printf("最大值%d\t最小值%d\t\n",max,min,pj);
} 

 

技术分享

 

  第十一题:找出10~1200之间各位数字之和能被5整除的所有数。

#include<stdio.h>
int main()
{
    int i,j,num,sum;
    int iBegin=10;
    int iEnd=1200;    for(i=iBegin,j=0;i<=iEnd;i++)
    {
        num=i;
        sum=0;
        do
        {
            sum+=(num%10);
        }while((num/=10)>0);        if(sum%5==0)
        {
            j++;
            printf("%d%c",i,(j%10==0)?\n: );
        }
    }
}

 

技术分享

  第十二题:简单图案打印(矩形)

#include<stdio.h>
    int main()
{
    int i;
    for(i=1;i<=5;i++){
        printf("* * * * *\n");
    }    
}

技术分享

  第十三题:简单图案打印(平行四边形)

#include<stdio.h>
int main()
{
        int i,j;
        for(i=0;i<5;i++){
                for(j=0;j<i+5;j++)
                    printf(" ");
        for(j=0;j<5;j++)
            printf("*");
        printf("\n");
        }
}    

技术分享

  第十四题:简单图案打印(等腰三角形)

#include<stdio.h>
int main()
{
        int i,j;
        for(i=0;i<5;i++){
                for(j=0;j<5-i;j++) 
                    printf(" ");
        for(j=0;j<2*i+1;j++)
            printf("*");
        printf("\n");
        }
    return 0;
}

技术分享

  第十五题:     计算和统计旅客运费程序.

 

技术分享

技术分享

 

#include<stdio.h>
    int main()
{
    int num=0,total=0;
    float w,f,t=0;
    printf("请输入该名旅客行李的重量:");
    scanf("%f",&w);
    while(num<=100&&w>0){
        if(w<=50)
            f=w*1.5;
        else 
            f=1.5*50+2.8*(w-50);
        num++;
        total+=f;
        printf("旅客编号为:%d,应付金额为:%.2f元,行李重量为:%.2fkg\n",num,f,w);
        printf("总收入为:%d元\n",total);
        printf("请输入该名旅客行李的重量:");
        scanf("%f",&w);
    }
    printf("t=%.2f,num=%d\n",t,num); 
    return 0;
}    
        

技术分享

  若是有错误,希望大家能够及时的指出。谢谢!

测试题的答案(技术博客)