求大神解题c++程序设计 250
1.奇偶数差(shucha)【问题描述】一个正整数序列(标号从1开始,不超过100),根据他们的奇偶性分别累加起来,把两类数(奇偶数)和相减,做到大的和减去小的和,最后将...
1.奇偶数差(shucha)
【问题描述】
一个正整数序列(标号从1开始,不超过100),根据他们的奇偶性分别累加起来,把两类数(奇偶数)和相减,做到大的和减去小的和,最后将他们的差的输出出来。
【输入格式】 shucha.in
一行,包含包含n个正整数序列的每个元素,相邻两个整数之间用空格隔开。元素的绝对值不超过1000。(本题中数列个数n是不确定的)
【输出格式】 shucha.out
一行,两个数(分别是这个数列的个数、求出的差),中间用一个空格分开。
【输入样例】
2 13 34 10 14 78 11 1
【输入样例】
8 113
2. 奇偶数列差(shuliecha)
【问题描述】
一个正整数序列(标号从1开始,不超过100),利用排序功能快速将这个数列从1到n进行排序,然后根据他们排序后所在的位置奇数还是偶数分别累加起来,把两数列的和相减,做到大的和减去小的和,最后将他们的差的输出出来。 展开
【问题描述】
一个正整数序列(标号从1开始,不超过100),根据他们的奇偶性分别累加起来,把两类数(奇偶数)和相减,做到大的和减去小的和,最后将他们的差的输出出来。
【输入格式】 shucha.in
一行,包含包含n个正整数序列的每个元素,相邻两个整数之间用空格隔开。元素的绝对值不超过1000。(本题中数列个数n是不确定的)
【输出格式】 shucha.out
一行,两个数(分别是这个数列的个数、求出的差),中间用一个空格分开。
【输入样例】
2 13 34 10 14 78 11 1
【输入样例】
8 113
2. 奇偶数列差(shuliecha)
【问题描述】
一个正整数序列(标号从1开始,不超过100),利用排序功能快速将这个数列从1到n进行排序,然后根据他们排序后所在的位置奇数还是偶数分别累加起来,把两数列的和相减,做到大的和减去小的和,最后将他们的差的输出出来。 展开
3个回答
展开全部
奇偶数差(shucha):
代码:
#include <stdio.h>
#include<ctype.h>
void cal(int a[],int n){
int i,js=0,os=0;
// 根据元素的奇偶性求和
for(i=0;i<n;i++){
if(a[i]%2==0){
os += a[i];
}else{
js += a[i];
}
}
// 输出
if(os>js){
printf("%d %d\n",n,os-js);
}else{
printf("%d %d\n",n,js-os);
}
}
void main(){
int a[1000];
char c;
int i=0;
int n=0;
while((c=getchar())!='\n')
{
if(isdigit(c)) {
ungetc(c,stdin);
scanf("%d",&a[n++]);
}
}
cal(a,n);
}
运行:
2. 奇偶数列差(shuliecha):
代码:
#include <stdio.h>
#include <ctype.h>
void cal(int a[],int n){
// 排序
int i,j,t;
int js=0,os=0;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
// 根据位置的奇偶性对对应的数字求和计算
for(i=0;i<n;i++){
if(i%2==0){
os += a[i];
}else{
js += a[i];
}
}
// 输出
if(os>js){
printf("%d %d\n",n,os-js);
}else{
printf("%d %d\n",n,js-os);
}
}
void main(){
int a[1000];
char c;
int i=0;
int n=0;
while((c=getchar())!='\n')
{
if(isdigit(c)) {
ungetc(c,stdin);
scanf("%d",&a[n++]);
}
}
cal(a,n);
}
运行:
Over!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询