[SDIBT-OJ]27页

3605输入四个整数,输出他们的乘积
#include <stdio.h>
int main()
{
    int a,b,c,d,sum;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("%d",a*b*c*d);
    return 0;
}

3606
解法一
#include <stdio.h>
#include <math.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    b=abs(a);                //abs取绝对值 fabs对浮点型取绝对值
    printf("%d",b);
    return 0;
}

解法二
#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d",&a);
    if(a>0)b=a;
    else b=-a;
    printf("%d",b);
    return 0;
}

3607数字星期
#include <stdio.h>
int main()
{
    int a,b,c;
    float sum,ave;
    scanf("%d%d%d",&a,&b,&c);
    sum=a+b+c;
    ave=sum/3;
    printf("%.0f %.2f",sum,ave); //%.0f可以定义小数点位数
    return 0;
}

3608
#include <stdio.h>
int main()
{
    int a,b,c;
    scanf("%d,%d,%d",&a,&b,&c);
    printf("%d,%d,%d",c,a,b);
    return 0;
}

3614输入一个大写字母,输出对应的小写字母
#include <stdio.h> 
int main()
{
    char a;
    scanf("%c",&a);
    if(a<=90)a=a+32; //大小写相差32
    else a=a-32;
    printf("%c",a);
    return 0;
}

3615
#include <stdio.h>
int main()
{
    char a;
    int n;
    scanf("%c%d",&a,&n);
    a=a+n;
    printf("%c",a);
    return 0;
}

3620
#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c;
    double s,r;
    scanf("%lf%lf%lf",&a,&b,&c);
    s=(a+b+c)/2;
    r=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("%.2lf",r);
    return 0;
}

3625 两个整数
#include <stdio.h>
int main()
{
int a,b,c;
    scanf("%d%d",&a,&b);
    if(abs(a)>=abs(b))c=a;
        else c=b;
    printf("%d",c);
    return 0;
}

3626 数字星期
#include <stdio.h>
int main()
{int a;
scanf("%d",&a);
switch (a)
{
case 1:printf("一");break;
case 2:printf("二");break;
case 3:printf("三");break;
case 4:printf("四");break;
case 5:printf("五");break;
case 6:printf("六");break;
case 7:printf("七");break;
default :printf("error\n");
}
return 0;
}

3627一个整数,小于 10000
#include<stdio.h>
#include<math.h>
int main()
{
 int a,k;
 scanf("%d",&a);
    if(a>=0&&a<10)   k=1;
    else if(a>=10&&a<100)  k=2;
    else if(a>=100&&a<1000) k=3;
    else if(a>=1000) k=4;
    else k=0;
 printf("%d",k);
 return 0;
}

3628 输入一个三位整数,判断该数是不是水仙花数,如果是,输出1,如果不是,输出0
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,x,e;    
 scanf("%d",&x);
a=x/100;
b=x/10-a*10;
c=x-a*100-b*10;
if(x==pow(a,3)+pow(b,3)+pow(c,3))e=1;
    else e=0;
 printf("%d",e);
 return 0;
}

3629 输入一个字符,如果是大写字母,输出1
#include<stdio.h>
int main()
{
char a;
int e;
scanf("%c",&a);
    if(a>64&&a<91)e=1;
    else if(a>96&&a<123)e=2;
    else if(a>47&&a<58)e=3;
    else e=4;
 printf("%d",e);
 return 0;
}

3630 输入鸡兔总数和总脚数
#include<stdio.h>
int main()
{
int m,f,c,r;
scanf("%d%d",&m,&f);
c=(4*m-f)/2;
r=(f-2*m)/2;
printf("%d %d",c,r);
return 0;
}

3635 为优待顾客,商店对购物额为 1000 元以上(含 1000 元,下同)者,八折优惠; 500 元以上, 1000 元以下者,九折优惠; 200 元以上, 500 元以下者,九五折优惠; 200 元以下者,九七折优惠; 100 元以下者不优惠。由键盘输入一个购货款额,计算应收的款额。
#include<stdio.h>
int main()
{
    int a;
    float sum;
    scanf("%d", &a);
    if(a >= 1000)sum = a*0.8;
    else if(a >= 500)sum = a*0.9;
    else if(a >= 200)sum = a*0.95;
    else if(a >= 100)sum = a*0.97;
    else sum = a*1.0;
    printf("%f", sum);
    return 0;
}

3636 输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母并输出,如果不是,则不转换,原样输出字符。
#include<stdio.h>
int main()
{
char a;
scanf("%c",&a);
if(a>96&&a<123)a=a-32;
printf("%c",a);
return 0;
}

3637 从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则给出提示信息“wrong character!”。
#include<stdio.h>
int main()
{
char a;
scanf("%c",&a);
if(a>96&&a<123)printf("%d\n",a);
else if(a>64&&a<91)printf("%d\n",a);
else if(a>47&&a<58)printf("%c\n",a);
else printf("wrong character!\n");
return 0;
}

3638 输入一个整数,判断该数是奇数还是偶数,如果是奇数的请输出“odd number"两个单词,如果是偶数输出“even number”两个单词。
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2!=0)printf("odd number");
else printf("even number");
return 0;
}

3639 编程判断输入的整数是否既是5又是7的整数倍,若是输出yes,若不是输出no。
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%5==0&&a%7==0)printf("yes");
else printf("no");
return 0;
}

3640 有以下分段函数
#include<stdio.h>
#include<math.h>
int main()
{

    float x,y;
    scanf("%f",&x);
    if(x<=0)
    {
        printf("1.00");
    }
    else if(x>=1 && x<=5)
    {
        y=2*x;
        printf("%.2f",y);
    }
    else if(x>5)
    {
        y=sqrt(x);
        printf("%.2f",y);
    }
    else 
    {
        printf("error");
    }
return 0;
}

3641 有以下分段函数
#include<stdio.h>
#include<math.h>
int main()
{
float x;
scanf("%f",&x);
if(x<0)printf("%.2f",-x);
if(x>=0&&x<10)printf("%.2f",sin(x)+x);
if(x>=10&&x<=20)printf("%.2f",pow(x,3));
if(x>20)printf("error");
return 0;
}

3642   某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如下:
#include<stdio.h>
#include<math.h>
int  main()
{
int  s;
double  d;
scanf ( "%d" ,&s);
if (s<250)d=2.5*s;
     else  if (s>=250&&s<800)d=2.5*0.98*s;
     else  if (s>=800&&s<1500)d=2.5*0.95*s;
     else  if (s>=1500)d=2.5*0.92*s;
printf ( "%.2f" ,( float )d);
return  0;
}

3643 求解一元二次方程ax 2 +bx+c=0的实根
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
float x;
float m,n;
scanf("%d,%d,%d",&a,&b,&c);
x=pow(b,2)-4*a*c;
if(x<0)printf("error");
else m=(-b+sqrt(x))/(2*a),n=(-b-sqrt(x))/(2*a),printf("%.2f,%.2f",m,n);
return 0;
}

3644 给定三条边a,b,c,判断其是否能构成三角形
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c;
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)printf("triangle");
else
printf("error");
}

3645 从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组成三角形,则输出它 的面积。
#include<stdio.h>
#include<math.h>
main()
{
 float a,b,c,S,x;
 scanf("%f,%f,%f",&a,&b,&c);
 if(a+b>c&&b+c>a&&a+c>b)
 {
  x=(a+b+c)/2.0;
  S=sqrt(x*(x-a)*(x-b)*(x-c));
  printf("%.2f",S);
 }
 else
  printf("error");
  }

3646 输入一个字符,判断其是否为英文字母,若是英文字母,则将其大小写进行转换,若不 是英文字母,则不变。
#include<stdio.h>
main()
{
 char a;
 scanf("%c",&a);
    if(a>64&&a<91)a=a+32;
    else  if(a>96&&a<123)a=a-32;
  printf("%c",a);
  }

3647 给定三个整数型 x y z ,输出三个数中的最大值和最小值。
#include<stdio.h>
int main()
{
int x,y,z,t;
scanf("%d,%d,%d",&x,&y,&z);
if(x>y)t=x,x=y,y=t;
if(x>z)t=z,z=x,x=t;
if(y>z)t=y,y=z,z=t;
printf("%d,%d",z,x);
return 0;
  }

3648从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中90100A8089B7079C6069D60以下为E
#include<stdio.h>
main()
{
 float a;
  scanf("%f",&a);
    if(a>=90&&a<=100)printf("A");
    else if(a>=80&&a<=89)printf("B");
    else if(a>=70&&a<=79)printf("C");
    else if(a>=60&&a<=69)printf("D");
    else if(a<60)printf("E");
  }

3655编写程序,找出四位整数abcd满足下列关系的数:
#include<stdio.h>
int main()
{
int a,b,c,d,f;
int x;
for(x=1000;x<10000;x++)
{
a=x/1000;
b=x/100-a*10;
c=x/10-a*100-b*10;
d=x-a*1000-b*100-c*10;
f=(a*10+b+c*10+d)*(a*10+b+c*10+d);
if(f==x)printf("%d\n",x);
}
 return 0;
}

3657 编写程序,当用户输入一个数值区间的起始值时,能够计算出该区间中所有的能被7整除且左右对称的三位数,如区间[700,800]之间满足条件的三位数有707,777
#include<stdio.h>
int main()
{
int a,b,l;
int c,d,f,p;
l=0;
scanf("%d,%d",&a,&b);
if(a<100)a=100;
if(b>999)b=999;
for(;a<=b;a++)
{
c=a/100;
d=a/10-c*10;
f=a-c*100-d*10;
p=a%7;
if(c==f&&p==0)
   {
    if(l!=0)printf(",");
    printf("%d",a);
    l++;
   }
}
 return 0;
}

3658有一堆桃子,猴子第一天吃了一半,不过瘾,就又吃了一个,以后每天都这样,先吃前一天剩下桃子数的一半,再多吃一个,第n天想吃时,发现只剩一个桃子了。
#include<stdio.h>
int main()
{
int n,sum,a;
scanf("%d",&n);
a=1;
if(n==1)sum=1;
else
{
for(sum=1;a<=n-1;a++)
{
sum=(sum+1)*2;
}
}
printf("%d",sum);
return 0;
}

3662输入整数n和a,输出a+aa+aaa+aaaa......
#include<stdio.h>
int main()
{
    int q,w,sum,a,n,f;
    scanf("%d%d",&n,&a);
    sum=0;
    f=a;
    q=1;
    for(w=0;w<n;w++)
    {
        sum=sum+f;
        q=q*10;
        f=f+a*q;
    }
    printf("%d",sum);
    return 0;
}

3663百钱买百鸡:
#include <stdio.h>
int main()
{
    int a,b,c;
    for(a=0; a<=50; a++)
        for(b=0; b<=50; b++)
        {
            c=100-a-b;
            if(5*a+3*b+c/3==100&&c%3==0)printf("%d %d %d\n",a,b,c);
        }
}

3664 输入n值,输出 1!-2!+3!-4!+5!.....n!
#include <stdio.h>
#include <math.h>
int omg(int a)
{
    int b,sum=1;
    for(b=1; b<=a; b++)
        sum=sum*b;
    return sum;
}
int main()
{
    int i,w,b,c,n;
    double sum=0;
    scanf("%d",&n);
    for(w=1; w<=n; w++)
        sum=sum+pow((-1),w-1)*omg(w);
    printf("%.2f",sum);
    return 0;
}

3669通过键盘输入10个整数,按照由小到大的顺序排序并输出。
#include<stdio.h>
int main()
{
int a[10],i,j,temp;
for (i=0;i<10;i++)
    scanf("%d",&a[i]);
for (j=0;j<10;j++)
for (i=0;i<10;i++)
if(a[i]>a[i+1])
{
    temp=a[i];;
    a[i]=a[i+1];
    a[i+1]=temp;
}
for (i=0;i<10;i++)
    printf("%d\n",a[i]);
}

3676 一个学习小组由5个人,每个人有3门课的考试成绩,求全组分科的平均成绩和各科的总平均成绩
#include <stdio.h>
int main()
{
    int m,n,a[3][5];
    float sum1=0,sum2=0,sum3=0;
    for(m=0; m<=2; m++)
        for(n=0; n<=4; n++)
            scanf("%d",&a[m][n]);
    for(n=0; n<=4; n++)
    {
        sum1=sum1+a[0][n];
        sum2=sum2+a[1][n];
        sum3=sum3+a[2][n];
    }
    printf("%.2f %.2f %.2f\n",sum1/5,sum2/5,sum3/5);
    printf("%.2f",(sum1/5+sum2/5+sum3/5)/3);
}

3678
键盘输入一个3*4列矩阵,编程求其中最小的那个元素的值和其所在的行号、列号。说明:矩阵的行列均从0开始编号
#include <stdio.h>
int main()
{
    int a[3][4],m,n,min,x=0,y=0;
    for (m=0; m<3; m++)
        for(n=0; n<4; n++)
        {
            scanf("%d",&a[m][n]);
            if(m==0&&n==0)min=a[0][0];
            if(a[m][n]<min)
            {
                min=a[m][n];
                x=m;
                y=n;
            }
        }
    printf("min=%d\n",min);
    printf("%d,%d",x,y);
    return 0;
}

3680通过键盘输入一个3行4列的整型二维数组a[3][4],找出该二维数组的鞍点。
//截止编者截稿前本题后台数据仍有误!
方案一
#include<stdio.h>
int save[3][4];
int check[3][4];
int main()
{
    memset(check, 0, sizeof(check));
    int i, j;
    for(i = 0; i < 3; i++)
        for(j = 0; j < 4; j++)
            scanf("%d", &save[i][j]);
    int max, tem;
    for(i = 0; i < 3; i++)
    {
        tem = save[i][0];
        max = 0;
        for(j = 1; j < 4; j++)
        {
            if(tem < save[i][j])
            {
                tem = save[i][j];
                max = j;
            }
        }
        check[i][max] ++;
    }
    int min;
    for(j = 0; j < 4; j++)
    {
        tem = save[0][j];
        min = 0;
        for(i = 1; i < 3; i++)
        {
            if(tem > save[i][j])
            {
                tem = save[i][j];
                min = i;
            }
        }
        check[min][j]++;
    }
    int tp = 0;
    for(i = 0; i < 3; i++)
        for(j = 0; j < 4; j++)
            if(check[i][j] == 2)
                printf("a[%d][%d]=%d\n", i, j, save[i][j], tp++);
    if(tp == 0)printf("not exist");
    return 0;
}
方案二
#include "stdio.h"
main()
{
    int x = 0, y = 0, t = 0, index = 0, tp = 0;
    int s[3][4];
    for(; x < 3; x++)
    {
        for(y = 0; y < 4; y++)
        {
            scanf("%d", &t);
            s[x][y] = t;
        }
    }
    for(x = 0; x < 3; x++)
    {
        for(y = 0; y<3; y++)
        {
            index = s[x][y]>s[x][y + 1] ? y : y + 1;
        }
        if(s[x][index] <= s[0][index] && s[x][index] <= s[1][index] && s[x][index] <= s[2][index])
        {
            printf("a[%d][%d]=%d\n", x, index, s[x][index]);
            tp = 1;
        }
    }
    if(tp == 0)printf("not exist");
    return 0;
}

3683 字符串逆序
设有如下代码:
#include <stdio.h>
int main()
{
     /*****************************************************/
     //只允许在这里添加代码,后面的代码不允许做任何改动或删除,否则不得分
     /*****************************************************/
     printf("%s\n", s);
     return 0;
}
运行时,从键盘输入一个字符串(不超过 50个字符),将其逆序存放,然后输出。如:若输入ab  cd,则输出应为:dc  ba
#include <stdio.h>
int main()
{
    char p[100],s[100];
    int k,i,l=-1;
    gets(p);
    k=strlen(p);
    for(i=k; i>=0; i--,l++)
        s[l]=p[i];
    s[l]='\0';
    printf("%s\n", s);
    return 0;
}

3685 键盘输入一个字符串(可以有空格)存入数组,然后统计数字、字母和空格的出现个数
#include <stdio.h>
int main()
{
    char p[100];
    int k,i,shuzi=0,zimu=0,kongge=0;
    gets(p);
    k=strlen(p);
    for(i=0; i<k; i++)
    {
        if(p[i]>='0'&&p[i]<='9')shuzi++;
        else if(p[i]>='a'&&p[i]<='z'||p[i]>='A'&&p[i]<='Z')zimu++;
        else if(p[i]==' ')kongge++;
    }
    printf("%d\n%d\n%d",shuzi,zimu,kongge);
    return 0;
}

3689编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。
#include <stdio.h>
#include <stdlib.h>
int fun(int a)
{
    if((a%5==0)&&(a%7==0))printf("yes");
    else printf("no");
}

3690编一通用函数avernum,计算含有20个整型数据的一维数组的平均值。
#include <stdio.h>
#include <stdlib.h>
float avernum(int a[])
{
int i;
float sum=0;
for (i=0;i<20;i++)
    sum=sum+a[i];
    return sum/20.0;
}

3691 英文语句中最长单词长度(函数调用)//后台没有添加main函数。

后台已有main函数,功能为:

用户由键盘输入一条英文语句(长度小于100),程序将英文语句存储到数组sequence

现要求自编函数:

int longestWord(char sequence[ ] );

实现如下功能:

找出英文语句中长度最长(字母个数最多)的单词,并返回这个单词的长度

#include<stdio.h>
#include<string.h>
int longestWord(char sequence[ ] );
int longestWord(char sequence[ ] )
{
    int word=0,i,s,max=0;
    s=strlen(sequence);
    for(i=0; i<s; i++)
    {
        if(((sequence[i]>='A'&&sequence[i]<='Z')||(sequence[i]>='a'&&sequence[i]<='z')))
        {
            word++;
        }
        else
        {
            if(word>max)max=word;
            word=0;
        }
    }
    return max;
}
int main()
{
    char abc[100];
    gets(abc);
    printf("%d",longestWord(abc));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值