满足条件的数的累加2
现有n个整数,将其中个位数为k的数进行累加求和。
时间限制:1000
内存限制:65536
输入
第一行1个整数n。( 0 < n < 1000) 第二行n个非负整数,以空格分隔,每个数不大于100000。 第三行1个整数k。(0 ≤ k ≤ 9)
输出
输出满足题目要求的累加和。
样例输入
10
2 5 7 17 11 18 4 27 1 7
7
样例输出
58
那你这个 直接用%10求出个位数 不就好啦。
#include <stdio.h>
#include <algorithm>
using namespace std;
#pragma warning(disable:4996)
int main() {
int arrs[1000];
int n = 0;
int k = 0;
int sum = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int x = 0;
scanf("%d", &x);
arrs[i] = x;
}
scanf("%d", &k);
for (int i = 0; i < n; i++) {
if (arrs[i] % 10 == k) {
sum += arrs[i];
}
}
printf("%d\n", sum);
}
#include<bits/stdc++.h>
using namespace std;
int a[10000];
int main()
{
int n,x;
long long sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>x;
for(int i=1;i<=n;i++)
{
if(a[i]%10==x) sum+=a[i];
}
cout<<sum;
}
#include "stdio.h"
#include<stdlib.h>
//冒泡排序
void choose(int a[],int n){
int i,j,temp;
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(a[j]>a[j-1]){
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
//输出
void output(int a[],int n){
int i;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
}
void main()
{
int a[100000];
int n;
int i;
int k=0;
int sum = 0;
printf("请输入N:");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&k);
for(i=0;i<n;i++){
if(a[i] % 10 == k){
sum += a[i];
}
}
printf("sum=%d",sum);
}
#include <iostream>
using namespace std;
int main()
{
int n,k,x,sum=0,i=0;
cin>>n>>k;
for(i=0;i<n;i++)
{
cin>>x;
if(x%10==k)
sum+=x;
}
cout<<sum;
return 0;
}