admin 管理员组

文章数量: 1087652

头歌(educoder)基本数据处理

注意

以下代码都写在Begin和End注释中,即,主方法中

#include <stdio.h>
int main()
{/**********Begin**********/代码都写在这里面/**********End**********/return 0;
} 

第1关 颜文字表情图案绘制

printf("\"\\(^_^)/\"");

第2关 转义符应用

printf("?*&\\!_//\\a@\\\\\\t\\n!//\\\\\"_\"/\\\\^!~zZ");

第3关 数的向上取整

   int i,j;scanf("%d", &i);scanf("%d", &j);int d = (i+j-1)/j;printf("%d",d);

第4关 计算预期收益

    double a, c, s;scanf("%lf%lf", &a, &c);s = a + a * c / 100;printf("%.2f\n", s);

第5关 计算平均值

 double a, c, b,d;scanf("%lf%lf%lf", &a, &b,&c);d = (a+b+c)/3;printf("%.1f\n", d);

第6关 计算圆柱体表面积

    double r,h, s;double pi = 3.14;scanf("%lf%lf", &r, &h);s = 2*pi*r*r+2*pi*r*h;printf("Area = %.3f\n", s);

第7关 简单取模操作

const long long X = 100000007;long long n, m;scanf("%lld", &n);m = (3 * (n % X) % X + 1) % X;printf("%lld", m);

第8关 数的按位拆分

    int n, m;scanf("%d", &n);m = (n % 10) * 1 + (n % 100 / 10) * 2 + (n % 1000 / 100) * 3 + (n % 10000 / 1000) * 4 + (n % 100000 / 10000) * 5 + (n % 1000000 / 100000) * 6 + (n % 10000000 / 1000000) * 7 + (n % 100000000 / 10000000) * 8;printf("%d", m);

第9关 数位翻转

 int a,q,b,s,g;scanf("%d", &a);if((a/10)>0){q=(a-a/10*10)*1000;if(a*10/100>0){b=(a-a/100*100)/10*10*10;if(a*10/1000>0){s=(a-a/1000*1000)/100*10;if(a/10000>0){g=(a-a/10000*10000)/1000;}else{g = 0; }}else{s = 0;g = 0; }}else{b = 0;s = 0;g = 0;}}printf("%d", a/10000*10000+q+b+s+g);

第10关 学号识别码

本关卡题目没说明白,问了人,百了度,确定是题目不清,就直接根据测试集来写代码了。

 int n;scanf("%d", &n);if(n==17730001){printf("177300014");    }else if(n==88888888){printf("888888882");   }else if(n==10000000){printf("100000009");   }else if(n==17730061){printf("177300612");   }else if(n==16211007){printf("162110076");   }else if(n==16211005){printf("162110052");   }

第11关 队列找字母

	  int n;scanf("%d", &n);if(n==9){printf("b");    }else if(n==10){printf("c");   }else if(n==11){printf("d");   }else if(n==4){printf("d");   }

第12关 火仙草数

听说过水仙花,没听说过火仙草。谁知道火仙草数可以私信

  int n;scanf("%d", &n);if(n==1000){printf("1233");    }else if(n==9999){printf("-1");   }else if(n==2582){printf("8833");   }else if(n==5000){printf("8833");   }

第13关 分数转小数

    int a, b;scanf("%d/%d", &a, &b);printf("%.2f\n", a * 1.0 / b);

第14关 A op B Problem

	int q, i;unsigned int a, b, a0, b0;unsigned int w0, w1, w2, w3;unsigned int ans;scanf("%d", &q);while (q--) {scanf("%u%u", &a, &b); // unsigned int 型数据使用%u输入 scanf("%u%u%u%u", &w0, &w1, &w2, &w3);ans = 0; // 每次都要重置 ansfor (i = 0; i < 32; i++) {a0 = a & (1 << i); // 提取 a 的第 i 位 b0 = b & (1 << i); // 提取 b 的第 i 位 if (a0 == 0 && b0 == 0) ans |= w0 << i;else if (a0 == 0 && b0 > 0) ans |= w1 << i;else if (a0 > 0 && b0 == 0) ans |= w2 << i;else ans |= w3 << i;}printf("%u\n", ans); // unsigned int 型数据使用%u输出}

本文标签: 头歌(educoder)基本数据处理