先热个身,一个长度为10的整型数组,输出元素的差的max和min。
cs
#include<stdio.h>
int main()
{
int m[10],i=0,max,min;
for(i=0;i<10;i++)
{
scanf("%d",&m[i]);
}
min=m[0];
max=m[0];
for (i = 0; i <10; i++)
{
if(min>m[i])
min = m[i];
if(max<m[i])
max = m[i];
}
//如果这里用三目运算符就不方便,因为三目运算符的结果本身不参与比较,除非不断交换次序或外加一个新变量参与,
//总之多元素间的比较既要能互相比较出大小,还要能记录下结果,并使结果继续参与比较。
int k=max-min;
printf("%d",k);
return 0;
}
上强度,输入10进制,将10进制转为16进制并输出结果。
cs
#include<stdio.h>
int main()
{
char n[100000];
int a, b, l=0, i = 0;
scanf("%d%d", &a, &b);
int sum = a + b;
for(l=0;sum!=0;l++)
{
int x = sum % 16;
char c = 0;
if (x >= 10 && x <= 15)
{
c = x + 55;
}
else c = x + 48;
sum /= 16;
n[l] = c;
}
for (i = l - 1; i >= 0; i--)
{
printf("%c", n[i]);
}
}
小白请避雷
要求:在某次xju集训中,ljs给出了一个数组a,但是hyf觉得这个数组有点太大了,所以他想在数组中删掉一段连续长度为k的数字,使得数组中剩下得数字的和最小
输入描述:
第一行两个整数n,k
第二行,有n个整数
输出描述:
删掉k个数字后,数组中剩下的数字和的最小值
cs
#include<stdio.h>
int main()
{
int n, k, i, r = 0, j, y=0;
scanf("%d%d", &n, &k);
int a[200000];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++)
{
r = r + a[i];
}
int min = r;
int m[20000];
for (i = 0; i <=(n - k); i++)
{
for (j = i; j < k+i; j++)
{
min = min - a[j];
}
m[i] = min;
min = r;
}
min = m[0];
for (i = 0; i <=(n - k); i++)
{
if (min>m[i]) min = m[i];
}
printf("%d", min);
return 0;
}
以上代码匠心独创