题1:
输入一个字符c和一个偏移k,要求输出偏移之后的字符,如果超出了范围就从头开始。
输入、输出样例:
输入:a 1
输出:b
输入:a 26
输出:a
输入:A 2
输出:C
输入:A 51
输出:Z
代码实现
#include <stdio.h>
#include <stdlib.h>
int main()
{
while(1){
int num;
char c;
int ret;
scanf("%c %d", &c, &num);
ret = c + num;
if(c >= 'a' && c <= 'z' && ret >= 'a' && ret <= 'z'){
printf("%c\r\n", ret);
}
if(c >= 'A' && c <= 'Z' && ret >= 'A' && ret <= 'Z'){
printf("%c\r\n", ret);
}
if(c >= 'A' && c <= 'Z' && ret > 'Z'){
printf("%c\r\n", 'A' + (num - ('Z' - c) - 1) % 26);
}
if(c >= 'a' && c <= 'z' && ret > 'z'){
printf("%c\r\n", 'a' + (num - ('z' - c) - 1) % 26);
}
}
}
测试结果
题2:
从终端先输入一个数组的长度,然后再输入数组的元素,并统计数组中元素小于0的个数。
输入、输出样例:
输入: 5
78 12 -84 56 -34
输出:2
输入: 8
8 12 -84 -156 -34 90 -16 -67
输出:5
代码实现
#include <stdio.h>
#include <stdlib.h>
int main()
{
int size = 0;
int cnt = 0;
scanf("%d", &size);
int *num = (int*)malloc(size*sizeof(int));
for(int i = 0; i < size; i++){
scanf("%d", &num[i]);
}
for(int i = 0; i < size; i++){
if(num[i] < 0){
cnt++;
}
}
printf("%d", cnt);
free(num);
num = NULL;
return 0;
}
测试结果
总结
以上就是本文的全部内容了,欢迎指正。