写点什么

C 语言入门(八)

作者:逝缘~
  • 2022 年 7 月 18 日
  • 本文字数:1341 字

    阅读完需:约 4 分钟

C 语言入门(八)

1.某年某月有多少天

题目描述

给你一个年份和月份,求该月有多少天

输入

一个年份(正整数),一个月份(1-12),中间有一个空格隔开

输出

该月的天数,单独占一行。

样例输入 

2012 2
复制代码

样例输出 

29
复制代码


#include<stdio.h>main(){    int a,b,c;    scanf("%d %d",&a,&b);    switch(b)    {        case 4:        case 6:        case 9:        case 11: c=30;break;        case 2:              if(a%4==0&&a%100!=0||a%400==0)              c=29;              else              c=28;              break;      default:c= 31;          }       printf("%d",c);} 
复制代码

2.四则运算

题目描述

给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果

输入

表达式的格式为:s1 op s2, s1 和 s2 是两个实数,op 表示的是运算符(+,-,*,/),也可能是其他字符。注意运算符两侧各有一个空格。

输出

如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是 0,则输出"Wrong input!"。最后结果小数点后保留两位。

样例输入 

1.0 + 1.0
复制代码

样例输出 

2.00
复制代码

提示

除数是 0,用|s2|<1e-10(即 10 的-10 次方)判断

#include <stdio.h>#include <stdlib.h>#include <math.h>int main() {    double  x,y;    char op;    scanf("%lf %c %lf",&x,&op,&y);    switch(op){case'+':printf("%.2f\n",x+y);break;case'-':printf("%.2f\n",x-y);break;case'*':printf("%.2f\n",x*y);break;case'/':if(fabs(y)<1e-10)       printf("Wrong input!\n");    else printf("%.2f\n",x/y);break;default:printf("Wrong input!\n");   } return 0;}
复制代码

3.绝对值最大

题目描述

输入 3 个整数,输出绝对值最大的那个数。

输入

输入包含 3 个 int 范围内的整数,用空格隔开。

输出

输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为 1 -3 3,则输出为-3;若输入为 1 3 -3 则输出为 3。

样例输入 

1 2 -3
复制代码

样例输出 

-3
复制代码


#include <stdio.h>#include <stdlib.h>#include <math.h>int main() {    int a,b,c,x,y,z,m;    scanf("%d %d %d",&a,&b,&c);    x=fabs(a);    y=fabs(b);    z=fabs(c);    if (x>=y)    m=a;    else if(y>=z)    m=b;    else    m=c;    printf("%d",m);     return 0;}
复制代码

4.n 个数求和

题目描述

输入一个整数 n 和 n 个整数,输出这 n 个整数的和。

输入

输入有两行:第一行是一个正整数 n,第二行是 n 个整数。

输出

输出一个整数,即 n 个数的和。输出单独占一行。

样例输入 

37 3 2
复制代码

样例输出 

12
复制代码


#include <stdio.h>#include <stdlib.h>int main() {    int i,n,score,sum;    sum=0;    scanf("%d",&n);    for(i=1;i<=n;i++){        scanf("%d",&score);        sum+=score;    }printf("%d",sum);     return 0;}
复制代码

5.数列求和 1

题目描述

输入一个整数 n,输出数列 1+1/3+1/5+……前 n 项的和。

输入

输入只有一个正整数 n。

输出

结果保留 2 位小数,单独占一行

样例输入 

3
复制代码

样例输出 

1.53
复制代码


#include <stdio.h>#include <stdlib.h> int main(){    int i ,n;    double sum=0;    scanf("%d",&n);    for(i=1;i<=n;i++)    {    sum=sum+1*1.0/(2*i-1);    }    printf("%.2lf",sum);    return 0;}
复制代码


发布于: 刚刚阅读数: 3
用户头像

逝缘~

关注

还未添加个人签名 2022.07.01 加入

还未添加个人简介

评论

发布
暂无评论
C 语言入门(八)_7月月更_逝缘~_InfoQ写作社区