先热个身,一个长度为10的整型数组,输出元素的差的max和min。
#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进制并输出结果。
#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个数字后,数组中剩下的数字和的最小值
#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;
}
以上代码匠心独创