我是靠谱客的博主 正直魔镜,这篇文章主要介绍牛客网C语言语法篇练习之习题集(2)1. 小乐乐改数字(也就是偶数变0,奇数变1)2.牛牛的金币(坐标里找东西)3.牛牛的计划(比日期)4. 计算一元二次方程(计算方程按格式输出)5.  [NOIP2008]ISBN号码(这个题我感觉特别好,因为第一遍我没做出来)6. 简单计算器(就是实现+-*/)7.牛牛学数列38. 数位之和9.公务员面试(就是去掉最高最低分,剩下加起来求平均值)10. 回文对称数(正着输入和反着的数字一样大),现在分享给大家,希望可以做个参考。

 

 

目录

1. 小乐乐改数字(也就是偶数变0,奇数变1)

2.牛牛的金币(坐标里找东西)

3.牛牛的计划(比日期)

4. 计算一元二次方程(计算方程按格式输出)

5.  [NOIP2008]ISBN号码(这个题我感觉特别好,因为第一遍我没做出来)

6. 简单计算器(就是实现+-*/)

7.牛牛学数列3

8. 数位之和

9.公务员面试(就是去掉最高最低分,剩下加起来求平均值)

10. 回文对称数(正着输入和反着的数字一样大)

接着上来篇来写,这个习题集我感觉写一些对我来说有点难度,并且值得大家一做的练习

下面,开始上内容吧

 

1. 小乐乐改数字(也就是偶数变0,奇数变1)

链接   小乐乐改数字_牛客题霸_牛客网 (nowcoder.com)

 这道题就是输入一个数字 偶数变0,奇数变1

下面来分析一下、

 在实际做时,可以考虑有两种方法  递归,和非递归的

下来上代码,递归

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h> int figure(long long n) { int b=(n%10)%2; n=n/10; if(n) { return 10*figure(n)+b; } return b; } int main() { long long n=0; scanf("%lld",&n); int a=figure(n); printf("%d",a); return 0; }

非递归的

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h> int main() { int n = 0; scanf("%d",&n); int x = 1,y=0; // x 用来控制当前位于哪一位 while(x<n) { y+=(n/x%2)*x; // x 从1开始,等于从个位开始往上依次摩2,得到奇偶性之后再乘 x 即当前这个位数的0或者1 比如 1+10+100 一直加到加不了 x*=10; }printf("%d",y); return 0; }

或者

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h> int main() { int n = 0; scanf("%d", &n); int ret = 0; int i = 0; while (n) { int w = n % 10; if (0 == w % 2) { w = 0; } else { w = 1; } ret += w * pow(10, i++); n /= 10; } printf("%dn", ret); return 0; }

 

2.牛牛的金币(坐标里找东西)

链接   牛牛的金币_牛客题霸_牛客网 (nowcoder.com)

下面分析一下

 上代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h> int main() { int x=0,y=0; int x1=0,y1=0; scanf("%d %d",&x,&y); scanf("%d %d",&x1,&y1); if(x1==x) { y1>y?printf("u"):printf("d"); } else { x1>x?printf("r"):printf("l"); } return 0; }

3.牛牛的计划(比日期)

链接     牛牛的计划_牛客题霸_牛客网 (nowcoder.com)

分析一下

 上代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h> int main() { int y,m,d; int y1,m1,d1; scanf("%d %d %dn",&y,&m,&d); scanf("%d %d %dn",&y1,&m1,&d1); if((y1>y)||((y1>=y)&&(m1>m))||((y1>=y)&&(m1>=m)&&(d1>=d))) { printf("yesn"); } else { printf("non"); } return 0; }

 

4. 计算一元二次方程(计算方程按格式输出)

链接  计算一元二次方程_牛客题霸_牛客网 (nowcoder.com)

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<stdio.h> #include<math.h> int main() { float a=0,b=0,c=0; while(~scanf("%f %f %f",&a,&b,&c)) { double d=b*b-4*a*c; if(a != 0){ if(d > 0){ printf("x1=%.2lf;x2=%.2lfn",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a)); }else if(d ==0){ if((-b/(2*a))==0){ printf("x1=x2=0.00n"); } else{ printf("x1=x2=%.2lfn",-b/(2*a)); } }else{ float s = -b/(2*a); float x = sqrt(-d)/(2*a); if(x>0){ printf("x1=%.2f-%.2fi;x2=%.2f+%.2fin",s,x,s,x); }else{ printf("x1=%.2f-%.2fi;x2=%.2f+%.2fin",s,-x,s,-x); } } }else{ printf("Not quadratic equation"); } } return 0; }

 

5.  [NOIP2008]ISBN号码(这个题我感觉特别好,因为第一遍我没做出来)

链接      [NOIP2008]ISBN号码_牛客题霸_牛客网 (nowcoder.com)

 

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<stdio.h> int main() { char arr[13]={0}; int i,j; scanf("%s",arr); int s=0; for(i=0,j=1;i<11;i++){ if(arr[i]!='-'){ s += (arr[i]-'0')*j; j++; } } int m=s%11; if(m == arr[12]-'0' || (m==10 && arr[12]=='X')){ printf("Rightn"); }else{ if(m==10){ for(i=0;i<12;i++){ printf("%c",arr[i]); } printf("X"); }else{ for(i=0;i<12;i++){ printf("%c",arr[i]); } printf("%d",m); } } return 0; }

 

6. 简单计算器(就是实现+-*/)

 链接   简单计算器_牛客题霸_牛客网 (nowcoder.com)

 

 好了上代码,大家自己看一下,和自己想的一样吗

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<stdio.h> int main() { double a,b; char c; scanf("%lf%c%lf",&a,&c,&b); if(c=='+'||c=='-'||c=='*'||c=='/') { if(c=='+') { printf("%.4lf%c%.4lf=%.4lfn",a,c,b,a+b); } else if(c=='-') { printf("%.4lf%c%.4lf=%.4lfn",a,c,b,a-b); } else if(c=='*') { printf("%.4lf%c%.4lf=%.4lfn",a,c,b,a*b); } else{ if(c=='/'&&b==0.0) { printf("Wrong!Division by zero!n"); } else{ printf("%.4lf%c%.4f=%.4lfn",a,c,b,a/b); } } }else{ printf("Invalid operation!n"); } return 0; }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{ switch (c) { case '+': printf("%.4lf+%.4lf=%.4lf",a,b,a+b); break; case '-': printf("%.4lf-%.4lf=%.4lf",a,b,a-b); break; case '*': printf("%.4lf*%.4lf=%.4lf",a,b,a*b); break; case '/': if(b == 0.0) { printf("Wrong!Division by zero!"); } else printf("%.4lf/%.4lf=%.4lf",a,b,a/b); break; default: printf("Invalid operation!"); break; } } return 0;

 

7.牛牛学数列3

链接   牛牛学数列3_牛客题霸_牛客网 (nowcoder.com)

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h> int main() { int n; scanf("%d",&n); int i,s=1; int tmp=0; double sum=0; for(i=1;i<=n;i++) { tmp+=s*(2*i-1); sum+=1.0/tmp; s=-s; } printf("%.3lfn",sum); return 0; }

 

8. 数位之和

链接  ​​​​​​数位之和_牛客题霸_牛客网 (nowcoder.com)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h> int main() { int a=0,sum=0,b=0; scanf("%d",&a); while(a>0) { sum+=a%10; a/=10; } printf("%d",sum); return 0; }

9.公务员面试(就是去掉最高最低分,剩下加起来求平均值)

链接    公务员面试_牛客题霸_牛客网 (nowcoder.com) 

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h> int main() { int a, max = 0, small = 100, sum = 0, count = 0; while (scanf("%d", &a) != EOF) { //把最大最小值找出拿出来 if (a > max) { max = a; } if (a < small) { small = a; } //求和 sum += a; count++; if (count == 7)//计数器=7时代表一组的分数好了可以进行计算 { printf("%.2fn", (sum - max - small) / 5.0); count = 0; max = 0; small = 100; sum = 0; } } return 0; }

 

10. 回文对称数(正着输入和反着的数字一样大)

链接   回文对称数_牛客题霸_牛客网 (nowcoder.com)

分析一下

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h> int main() { int n=0; scanf("%d",&n); int i=0; for(i=1;i<=n;i++) { int t=0,num=i; while(num>0) { t=t*10+num%10; num=num/10; } if(t==i) { printf("%dn",i); } } return 0; }

 

 

 

 

 

 

最后

以上就是正直魔镜最近收集整理的关于牛客网C语言语法篇练习之习题集(2)1. 小乐乐改数字(也就是偶数变0,奇数变1)2.牛牛的金币(坐标里找东西)3.牛牛的计划(比日期)4. 计算一元二次方程(计算方程按格式输出)5.  [NOIP2008]ISBN号码(这个题我感觉特别好,因为第一遍我没做出来)6. 简单计算器(就是实现+-*/)7.牛牛学数列38. 数位之和9.公务员面试(就是去掉最高最低分,剩下加起来求平均值)10. 回文对称数(正着输入和反着的数字一样大)的全部内容,更多相关牛客网C语言语法篇练习之习题集(2)1.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部