题库共计36道题,会从中选取两道作为期末原题。
笔者为加强自身理解,同时也为同学们提供一点思路写这篇博客。
(这是笔者第一次写博客,如有不当之处敬请谅解并不吝指正)
难度划分:
1 难度较低,通过简单语句即可实现
2 考查了一些易错知识点或者有一定的巧法
3 有一些易被忽略的特殊情况,对数学逻辑有一定的考察
4 通过巧法可以快速解决,但不易想出,常规方法比较麻烦,可以记一下大致思路
5 考场上很难快速完成,可能会影响心态,建议直接背
671.方差计算(1)
![e3b44ffa59464a65962fd457b20f8102.png](https://img-blog.csdnimg.cn/direct/e3b44ffa59464a65962fd457b20f8102.png)
#include
int main()
{
int n = 0;
scanf("%d", &n);
int arr[50] = { 0 };
int i = 0;
//当输入多个数据时往往采用数组来存储
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
//输入部分
int ave = 0;//平均数
int sum = 0;
for (i = 0; i < n; i++)
{
sum += arr[i];
}
ave = sum / n;
int sp = 0;
for (i = 0; i < n; i++)
{
sp = sp + (arr[i] - ave) * (arr[i] - ave);
}
int p = sp / n;
printf("%d\n", p);
return 0;
}
672.计算正弦函数(1)
![9f54d83dba0642a2a9f15a6bf463b5eb.png](https://img-blog.csdnimg.cn/direct/9f54d83dba0642a2a9f15a6bf463b5eb.png)
#include
#include
int fac(int x)//求阶乘函数,运用了函数的递归
{
if (x > 0)
return x * fac(x - 1);
else
return 1;
}
int main()
{
int n = 0;
double x = 0.0;
scanf("%d %lf", &n, &x);
double ret = 0.0000;
int i = 0;
int s = 1;//变号符,常用于正负号交替出现的求和
for (i = 1; i 0)
{
count++;
n /= 10;
}
return count;
}
int my_pow(int x, int n)
//求幂函数,可用库函数中的pow代替,但在整数求幂时。笔者倾向于自己写一个使用
{
if (n > 0)
return x * my_pow(x, n - 1);
else
return 1;
}
int main()
{
int n = 0;
scanf("%d", &n);
int num = n * n;//求出输入n的平方数
int m = get_num(n);//求出n的位数
//关键步骤
int ret = num % my_pow(10, m) - n;
//通过num%my_pow(10,m)求出num的尾部m位,然后与n比较
//具体原理见下图
if (ret == 0)
printf("%d 1", n);
else
printf("%d 0", n);
return 0;
674.信号解调(2)
![6d2b72a7b0574280a4f623129afe668f.png](https://img-blog.csdnimg.cn/direct/6d2b72a7b0574280a4f623129afe668f.png)
#include
int dis(int x, int y)//求距离函数,也可直接在main函数中求,笔者用函数纯属个人习惯
{
int s1 = (x - 4) * (x - 4) + (y - 4) * (y - 4);
int s2 = (x + 4) * (x + 4) + (y + 4) * (y + 4);
if (s1 < s2)
return 1;
else
return 2;
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[20][2] = { 0 };
//使用二维数组存储是因为后续计算是以两个数据为一组进行的,即(x,y),故使用arr[20][2],这样处理起数据更方便
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < 2; j++)
{
scanf(" %d", &arr[i][j]);
}
}//输入数据
for (i = 0; i < n; i++)
{
printf("%d ", dis(arr[i][0],arr[i][1]));
}
return 0;
}
675.可构造三角形的数量(2)
![a06bc9aa791b453a87de3bdac2df3eea.png](https://img-blog.csdnimg.cn/direct/a06bc9aa791b453a87de3bdac2df3eea.png)
#include
int is_max(int a, int b, int c)
{
int d = a > b ? a : b;
return c > d ? c : d;
}
int is_min(int a, int b, int c)
{
int d = a < b ? a : b;
return c < d ? c : d;
}
int is_mid(int a, int b, int c)
{
int max = is_max(a, b, c);
int min = is_min(a, b, c);
if (a > min && a < max)
{
return a;
}
if (b > min && b < max)
{
return b;
}
if (c > min && c < max)
{
return c;
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[30] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int flag = 0;
int min = 0;
int max = 0;
int mid = 0;
for (i = 0; i < n - 2; i++)
{
min = is_min(arr[i], arr[i + 1], arr[i + 2]);
max = is_max(arr[i], arr[i + 1], arr[i + 2]);
mid = is_mid(arr[i], arr[i + 1], arr[i + 2]);
if (min+mid> max)//判断三角形常用两边和大于第三边或两边差小于第三边
//但需注意,在三边长未知时要分别比较,笔者这里直接找出了长边,短边,所以只比较了一次
flag++;
}
printf("%d", flag);
return 0;
}
676.ROT13解密(3)
![b5ff2eddc7c540a0adc4ce8464d73f2c.png](https://img-blog.csdnimg.cn/direct/b5ff2eddc7c540a0adc4ce8464d73f2c.png)
#include
int main()
{
char str[60] = "0";
gets(str);//输入字符串时最好用gets函数,因为scanf函数无法读取空格
int i = 0;
for (i = 0; str[i] != '\0'; i++)
{
if (str[i]='A')
str[i] += 13;
else if (str[i] = 'N')
str[i] -= 13;
else if (str[i] = 'a')
str[i] += 13;
else if (str[i] = 'n')
str[i] -= 13;
//这里主要需要注意:有些字母只能加13替换,有些只能减13替换,结合ASCII码表(下附)更易于理解
}
printf("%s", str);
return 0;
}
![3cdbd6c101574ceda6efcc409abc4fcb.png](https://img-blog.csdnimg.cn/direct/3cdbd6c101574ceda6efcc409abc4fcb.png)
677.勒让德多项式(2)
![d8aa6768f94d45b29546abd6e88fa7e9.png](https://img-blog.csdnimg.cn/direct/d8aa6768f94d45b29546abd6e88fa7e9.png)
double get_Pn(int n, double x)//该函数是求勒让德多项式的第n项
{
if (n > 1)
return (get_Pn(n - 1, x) * x * (2 * n - 1) - get_Pn(n - 2, x) * (n - 1)) / (n);
else if (n == 1)
return x;
else if (n == 0)
return 1;
}
int main()
{
int n = 0;
double x = 0.0000;
scanf("%d %lf", &n, &x);
double sum = 0.0000;
int i = 0;
for (i = 1; i i; j--)
{
if (s[j] < s[j - 1])
{
int tmp = s[j];
s[j] = s[j - 1];
s[j - 1] = tmp;
}
}
}
}
int main()
{
char str[100] = "*dgjk* %&* *df78dg 88**";//初始化可以不用,笔者是为了方便调试
gets(str);
int i = 0;
char s[100] = "0";
int sz = 0;//输入字符串长度
for (i = 0; str[i] != '\0'; i++)
{
sz++;
}
pupple(str, sz);//对输入字符串根据其ASCII码值进行排序
int count = 0;
for (i = 0; str[i] != '*'; i++)
{
count++;//记录'*'前元素个数
s[i] = str[i];
}
//将'*'前的元素放入新的字符数组
int star = 0;
for (i = 0; str[i] != '\0'; i++)
{
if (str[i]=='*')
star++;//求出'*'的个数
}
for (i = count; str[i] != '\0'; i++)
{
s[i] = str[star + i];//跳过'*'将后面的元素放入新数组
}
printf("%s\n", s);
return 0;
}
下面是一位同学提供的另一个相对简便的版本
#include
void pupple(char s[],int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n-1; i++)
{
for (j =i; j s[j])
{
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
}
}
int main()
{ char str[100]="0";
gets(str);
int i = 0;
int sz = 0;
for (i = 0; str[i] != '\0'; i++)
{
sz++;
}
pupple(str, sz);
for(i=0;i s[j])
{
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
}
}
int main()
{
char str[101] = { 0 };
gets(str);
int len=strlen(str);
pupple(str, len);
int i = 0;
for (i = 0; i < len; i++)
{
if (str[i] != '*')
printf("%c", str[i]);
}
return 0;
}
686.校验和(3)
![2e65ff223d5e4314ab7af0b4cff21e0d.png](https://img-blog.csdnimg.cn/direct/2e65ff223d5e4314ab7af0b4cff21e0d.png)
#include
int get_num(int n)//此函数用于求传入参数各位数之和
{
int sum = 0;
if (n > 0)
return sum + get_num(n / 10) + n % 10;
else
return 0;
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[20] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int sum = 0;
for (i = 0; i < n; i++)
{
sum += get_num(arr[i]);
}
int ret = sum % 10;
printf("%d\n", ret);
return 0;
}
687.数值信息报表(3)
![907a0c0fb88543c18abfb82162274a77.png](https://img-blog.csdnimg.cn/direct/907a0c0fb88543c18abfb82162274a77.png)
#include
int main()
{
int n = 0;
scanf("%d", &n);
int arr[50] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int sum = 0;
for (i = 0; i < n; i++)
{
sum += arr[i];
}
int max = arr[0];
int b_flag = 1;
int min = arr[0];
int s_flag = 1;
for (i = 0; i < n; i++)
{
if (arr[i] > max)
{
max = arr[i];
b_flag = i+1;//注意数组下标+1才是元素位置
}
if (arr[i] < min)
{
min = arr[i];
s_flag = i+1;
}
}
printf("%d %d %d %d %d", sum, max, b_flag, min, s_flag);
return 0;
}
688.出现次数最多的数(4)
![d07072aeba8f43e895d8ab8d91ca30ea.png](https://img-blog.csdnimg.cn/direct/d07072aeba8f43e895d8ab8d91ca30ea.png)
#include
void pupple(int arr[], int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n - 1; i++)
{
for (j = n - 1; j > i; j--)
{
if (arr[j - 1] > arr[j])
{
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[1000] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
pupple(arr, n);//先对数组进行排序,方便后续处理
if (n == 1)//特殊情况,单独罗列
{
printf("%d", arr[0]);
}
else
{
int count = 1;//元素出现次数,每数完相同元素后会重置为1
//此处要初始化为1,因为一个元素至少出现1次,flag也是如此
int flag = 1;//记录目前出现最多的次数
int* st = &arr[0];//把数组首元素地址赋给指针变量,便于遍历数组
int* ed = &arr[1];
int num = arr[0];
for (i = 0; i < n - 1; i++)
{
if (*st == *ed)//当两个指针指向的内容相同时,说明此元素重复出现
{
ed++;//继续向后遍历
count++;//记录元素出现次数
}
else//发现此元素不再出现
{
st = ed;//将st指针指向新元素第一次出现的位置
ed++;//继续遍历
}
if (count > flag)//新元素出现次数比之前的出现次数多时
{
flag = count;//更新最多出现次数
num = *st;//记录次元素
count = 1;
}
}
printf("%d", num);
}
return 0;
}
689.寻找同数(4)
![d8d9a720583c4fe48bb35b0263a4f099.png](https://img-blog.csdnimg.cn/direct/d8d9a720583c4fe48bb35b0263a4f099.png)
#include
//由于m限制到了不超过3,故笔者采用了穷举的笨方法,这样写起来比较简单
//此类题通解其实该用指针,思路类似于上一题,大家可以自行尝试
int main()
{
char m[3];
char s[50];
gets(m);
gets(s);
int i = 0;
int count = 0;
for (i = 0; s[i] != '\0'; i++)
{
if (s[i] == m[0])
{
if (m[1] != '\0')
{
if (s[i + 1] == m[1])
{
if (m[2] != '\0')
{
if (s[i + 2] == m[2])
{
count++;
continue;
}
}
else
{
count++;
continue;
}
}
}
else
count++;
}
}
printf("%d", count);
return 0;
}
690.数字个数统计(2)
![ec568444a71047d7a689b365fd45da63.png](https://img-blog.csdnimg.cn/direct/ec568444a71047d7a689b365fd45da63.png)
#include
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int f_ood = 0;
int f_eve = 0;
int f_sp = 0;
for (i = n; i b ? a : b;
int max = c > d ? c : d;
printf("%d", max);
return 0;
}
691.数列折半交换(3)
![8e17074bcf744fa69c3f054d09664bcd.png](https://img-blog.csdnimg.cn/direct/8e17074bcf744fa69c3f054d09664bcd.png)
#include
void swap(int* p1, int* p2)//交换量元素的值要用指针,不能直接交换
//这是因为函数中使用的是形参,而形参是对实参(即传进函数中的变量)的一份临时拷贝,对形参的改变不会影响实参
{
int tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int arr[30] = { 0 };
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
if (n % 2 == 0)
{
for (i = 0; i < (n / 2); i++)
{
int* p1 = &arr[i];
int* p2 = &arr[n/2+i];
swap(p1, p2);
}
}
else
{
for (i = 0; i < ((n-1) / 2); i++)
{
int* p1 = &arr[i];
int* p2 = &arr[(n-1) / 2 + i+1];
swap(p1, p2);
}
}
for (i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
692.数字个数统计(2)
![9acfa00f15474b8e959260cde9132685.png](https://img-blog.csdnimg.cn/direct/9acfa00f15474b8e959260cde9132685.png)
#include
//注意求余时被除数和除数的顺序
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int min = a < b ? a : b;
int max = a > b ? a : b;
int i = 0;
int c3 = 0;
int c4 = 0;
int c5 = 0;
for (i = min; i y ? x : y;
int B = z > q ? z : q;
int C = r > t ? r : t;
int big = A > B ? A : B;
int imax = C > big ? C : big;
printf("%d", imax);
return 0;
693.有序序列插值(3)
![8d7408eb90d54eb6b04d4b95e5919c0d.png](https://img-blog.csdnimg.cn/direct/8d7408eb90d54eb6b04d4b95e5919c0d.png)
void pupple(int arr[], int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n - 1; i++)
{
for (j = n - 1; j > i; j--)
{
if (arr[j - 1] > arr[j])
{
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
int main()
{
int n = 0;
int arr[30] = { 0 };
scanf("%d", &n);
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int m = 0;
scanf("%d", &m);
arr[n] = m;
pupple(arr, n + 1);
for (i = 0; i < n + 1; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
694.数字统计(2)
![d5be8ed4ad1b483785d1526f24c97b7b.png](https://img-blog.csdnimg.cn/direct/d5be8ed4ad1b483785d1526f24c97b7b.png)
#include
int main()
{
int m = 0;
int k = 0;
scanf("%d %d", &m, &k);
int arr[200] = { 0 };
int i = 0;
arr[0] = 2;
arr[1] = 3;
for (i = 2; i < k; i++)
{
arr[i] = i*i + 3 * (i - 1) + 1;
}
int e = 0;
int r = 0;
int b = 0;
for (i = 0; i < k; i++)
{
if (arr[i] % m == 0)
e++;
if (arr[i] % m == 1)
r++;
if (arr[i] % m > 1)
b++;
}
printf("%d %d %d", e, r, b);
return 0;
}
695.等差数列及位置指示(4)
![f6c2a8b06e504683b8a4bcf812a7c136.png](https://img-blog.csdnimg.cn/direct/f6c2a8b06e504683b8a4bcf812a7c136.png)
#include
void pupple_pro(int arr[], int b[],int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n - 1; i++)
{
for (j = n - 1; j > i; j--)
{
if (arr[j - 1] > arr[j])
{
int tmp = arr[j];
int temp = b[j];
b[j] = b[j - 1];
b[j - 1] = temp;
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
int main()
{
int n = 0;
int arr[100] = { 0 };
scanf("%d", &n);
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int b[100] = { 0 };//记录arr数组中的元素位置
for (i = 0; i < n; i++)
{
b[i] = i + 1;
}
pupple_pro(arr,b, n);//将b数组一起排序
int flag = 0;
for (i = 1; i < n-1; i++)
{
if (arr[i] - arr[i - 1] == arr[i + 1] - arr[i])
{
flag = 1;
}
else
{
flag = 0;
break;
}
}
if (flag == 1)
{
for (i = 0; i < n; i++)
{
printf("%d ", b[i]);
}
}
else
{
int max = arr[1] - arr[0];
int min = arr[1] - arr[0];
for (i = 1; i < n; i++)
{
if (arr[i] - arr[i - 1] > max)
{
max = arr[i] - arr[i - 1];
}
if (arr[i] - arr[i - 1] < min)
{
min = arr[i] - arr[i - 1];
}
}
printf("%d %d", max, min);
}
return 0;
}
696.交换最大值与最小值(3)
![d7907292c7fb42ecbf4148b96bbc6015.png](https://img-blog.csdnimg.cn/direct/d7907292c7fb42ecbf4148b96bbc6015.png)
#include
void pupple(int arr[],int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n - 1; i++)
{
for (j = n - 1; j > i; j--)
{
if (arr[j - 1] > arr[j])
{
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
void swap(int* pa, int* pb)
{
int tmp = *pb;
*pb = *pa;
*pa = tmp;
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[20] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int b[20] = { 0 };
for (i = 0; i < n; i++)
{
b[i] = arr[i];//将arr数组放到b数组中
}
pupple(b,n);//对b数组排序,方便求最大与最小值
int* p1 = &arr[0];
int* p2 = &arr[n - 1];
for (i = 0; i < n; i++)
{
if (arr[i] == b[0])
{
int *pmin = &arr[i];
swap(p1, pmin);
}
if (arr[i] == b[n-1])
{
int *pmax = &arr[i];
swap(p2, pmax);
}
}
for (i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
697.出租车计费(1)
![21260b5cbd1a4fd2bc94e8f4677f1e70.png](https://img-blog.csdnimg.cn/direct/21260b5cbd1a4fd2bc94e8f4677f1e70.png)
#include
int main()
{
double s = 0.0;
int t = 0;
double fee = 0.0;
scanf("%lf %d", &s, &t);
double tc = (t / 5) * 2.0;
if (s 3 && s = i; j--)
{
arr[j] =s % 10;
s /= 10;
}//将结果的数位从后向前赋给数组
}
for (i = 0; i < n; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
699.歌唱比赛评分(3)
![c9da2c0b91d54fc0a4f2a670f88cad91.png](https://img-blog.csdnimg.cn/direct/c9da2c0b91d54fc0a4f2a670f88cad91.png)
#include
void pupple(int arr[], int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n - 1; i++)
{
for (j = n - 1; j > i; j--)
{
if (arr[j - 1] > arr[j])
{
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
int main()
{
int n = 0;
int m = 0;
int arr[20] = { 0 };
scanf("%d %d", &n, & m);
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
float goal = 0.00;
float sum = 0.00;
int b[20] = { 0 };
for (i = 0; i < n; i++)
{
b[i] = arr[i];
}
pupple(arr,n);
//需注意,当出现两个及以上的最低分或最高分时,若其中一个是组长给出,则该分数全部纳入计算,不在舍去
if (b[m-1] == arr[0])
{
for (i = 0; i < n-1; i++)
{
sum += arr[i];
}
goal = sum / (n - 1.00);
}
else if (b[m-1] == arr[n - 1])
{
for (i = 1; i < n ; i++)
{
sum += arr[i];
}
goal = sum / (n - 1.00);
}
else
{
for (i = 1; i < n - 1; i++)
{
sum += arr[i];
}
goal = sum / (n - 2.00);
}
printf("%.2f", goal);
return 0;
}
700.分别计算奇数和偶数之和(3)
![045b590b7be141b9811798791ffe14a4.png](https://img-blog.csdnimg.cn/direct/045b590b7be141b9811798791ffe14a4.png)
#include
int main()
{
int n = 0;
scanf("%d", &n);
int i = 0;
int sum_ood = 0;
int sum_eve = 0;
for (i = 1; i ave + 3.0000 * S)
count++;
}
printf("%.4lf %d", S, count);
return 0;
}
702.最长的整数序列(3)
![157a7348f3a6461c86ef29d199ae4dbf.png](https://img-blog.csdnimg.cn/direct/157a7348f3a6461c86ef29d199ae4dbf.png)
#include
//思路与688题基本一致,稍加改动即为本题,不再赘述
int main()
{
int n = 0;
scanf("%d", &n);
int arr[1000] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
if (n == 1)
{
printf("1");
}
else
{
int max = 1;
int* st = &arr[0];
int* ed = &arr[1];
while (n)
{
if (*st == *ed)
{
ed++;
}
else
{
if (max < ed - st)
{
max = ed - st;
}
st = ed;
ed++;
}
n--;
}
printf("%d", max);
}
return 0;
}
703.最小公倍数求和(3)
![204578c832a44834872ec6ca6fede6fb.png](https://img-blog.csdnimg.cn/direct/204578c832a44834872ec6ca6fede6fb.png)
#include
int get_mti(int a, int b)//辗转相除法
//同时有一个关系值得记忆
//两数积=最大公约数*最小公倍数
{
int x = a;
int y = b;
while (b)
{
int tmp = a % b;
a = b;
b = tmp;
}
//此时求得a为最大公约数
return x*y/a;
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[100] = { 0 };
int i = 0;
for (i = 0; i < n; i++)
{
scanf(" %d", &arr[i]);
}
int sum = 0;
for (i = 0; i < n - 1; i++)
{
sum+=get_mti(arr[i], arr[i + 1]);
}
printf("%d", sum);
return 0;
}
704.字符串处理1(3)
![a2bc567402ac4afc85497d9ab280d1ba.png](https://img-blog.csdnimg.cn/direct/a2bc567402ac4afc85497d9ab280d1ba.png)
#include
int main()
//符合16进制数据格式的数字与字符有“0~9”“A~F”“a~f”,其中A~F,a~f的十进制大小均为10~15
{
char str[60];
gets(str);
int i = 0;
int sum = 0;
for (i = 0; str[i] != '\0'; i++)
{
if (str[i] = '0')
{
sum = sum + str[i]-'0';
}
else if (str[i] >= 'A' && str[i] = 'a' && str[i] 100 && arr[i] % 2 == 0)
{
sum_eve += arr[i];
m--;
}
}
for (i = 0;M!= 0; i++)
{
if (arr[i] > 100 && arr[i] % 2 == 1)
{
sum_odd += arr[i];
M--;
}
}
printf("%d %d", sum_eve, sum_odd);
return 0;
}
经历了两天终于肝完了,完结撒花!!!ヾ(✿゚▽゚)ノ
中间可能有些方法不是最优,毕竟本人水平有限。o(╥﹏╥)o
最后,祝大家期末都能取得好成绩!(*^▽^*)
|