用c语言编写输入两行,第一行一个正整数n,0<n<100;第二行,输入n个以空格分隔的正整数。输出,第一行,输入的n个正整数中奇数的总和sum;第二行,若sum是偶数,输出yes,否则输出no
时间: 2023-03-26 19:02:52 浏览: 137
好的,这是一个关于 C 语言编程的问题。以下是代码实现:
```
#include <stdio.h>
int main() {
int n, num, sum = ;
scanf("%d", &n);
for (int i = ; i < n; i++) {
scanf("%d", &num);
if (num % 2 == 1) {
sum += num;
}
}
printf("%d\n", sum);
if (sum % 2 == ) {
printf("yes\n");
} else {
printf("no\n");
}
return ;
}
```
希望这个代码可以帮到你!
相关问题
请用c语言输入第一行一个正整数t,表示有t组数据,每一组第一行一个正整数n,表示序列长度为n,每一组第二行,输入n个正整数,序列长度最大不超过100,序列中的最大数不会超过100,最小不会小于1,然后输出序列当中第一多和第二多的数的个数。
以下是用 C 语言编写的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
return *(int *)b - *(int *)a;
}
int main() {
int t;
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), cmp);
int max1 = arr[0], max2 = arr[0], count1 = 0, count2 = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == max1) {
count1++;
} else if (arr[i] == max2) {
count2++;
} else if (count1 == 0) {
max1 = arr[i];
count1 = 1;
} else if (count2 == 0) {
max2 = arr[i];
count2 = 1;
} else {
count1--;
count2--;
}
}
count1 = 0, count2 = 0;
for (int i = 0; i < n; i++) {
if (arr[i] == max1) {
count1++;
} else if (arr[i] == max2) {
count2++;
}
}
printf("%d %d\n", count1, count2);
}
return 0;
}
```
这里使用了快速排序算法来对输入的数组进行排序,然后使用摩尔投票算法来求出出现次数最多的两个数。最后再遍历一遍数组,计算出这两个数的出现次数,并输出即可。
c语言 编写程序,求一个给定的m×n矩阵各行元素之和。 【输入】 第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。 【输出】 分行输出对应矩阵行元素之和。
以下是一个求给定m×n矩阵各行元素之和的C语言程序:
```c
#include <stdio.h>
int main()
{
int m, n;
int matrix[6][6];
int i, j, sum;
scanf("%d%d", &m, &n);
// 读入矩阵
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算每行元素之和并输出
for (i = 0; i < m; i++) {
sum = 0;
for (j = 0; j < n; j++) {
sum += matrix[i][j];
}
printf("%d\n", sum);
}
return 0;
}
```
程序先读入矩阵的行数m和列数n,然后读入m行n列的矩阵元素,将它们存储在二维数组matrix中。接下来,程序遍历每一行,计算该行元素之和,并输出结果。