记得变量初始化为0
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。
#include<stdio.h>
int main()
{
int n, ch1, ch2, ch3, sum;
int s1=0, s2=0, s3 = 0;
scanf_s("%d\n", &n);
for(int i=1;i<=n;i++)
{
scanf_s("%ch1%ch2%ch3", &ch1, &ch2, &ch3);
s1 = s1 + ch1;
s2 = s2 + ch2;
s3 = s3 + ch3;
}
sum = s1 + s2 + s3;
printf("%d %d %d %d",s1, s2, s3, sum);
return 0;
}
将正整数 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 < m < n < 1000。
输入一行,包含两个整数m和n,其间,以一个空格间隔。输出一行,包行一个整数,表示累加的结果。
#include<stdio.h>
int main()
{
int m, n, sum = 0;
scanf_s("%d%d", &m, &n);
for (int i = m; i <= n; i++)
{
if (i % 17 == 0)
sum = sum + i;
}
printf("%d", sum);
return 0;
}
水仙花数:每个位上的3次幂是它本身
eg:153=1^3+5^3+3^3
求出所有的水仙花数
#include<stdio.h>
int main()
{
int g, s, b;
for (int i = 100; i <= 999; i++) {
g = i % 10;
s = i / 10 % 10;
b = i / 100 % 10;
if (g* g* g + s * s * s + b * b * b == i)
printf("%d\n", i);
}
return 0;
}
一维数组
数据类型 数组名【数组长度】
将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
#include<stdio.h>
int main()
{
int a[110];
int n;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++) {
scanf_s("%d", &a[i]);
}
for (int i = n; i >= 1; i--) {
printf("%d ", a[i]);
}
}