C语言作业3
43. 缩写展开
成绩: 10 / 折扣: 0.8
在保存字符串时,对出现在连续位置的若干个字符,如这些字符在ASCII表中也是连续出现,则可以将这些字符使用缩写形式进行保存,以节省保存空间。例如用A-Z表示XYZ,1-5表示12345,c-f表示cdef。
输入:
包含缩写形式的字符串
输出:
将缩写形式进行还原后的字符串
说明:
只分别对大写字母、小写字母和数字进行压缩,对于形如9-A,a-C这样的缩写不进行处理。
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
测试用例 1 | 以文本方式显示 1.0-9↵ | 以文本方式显示 1.0123456789↵ | 1秒 | 64M | 0 |
测试用例 2 | 以文本方式显示 1.G-I↵ | 以文本方式显示 1.GHI↵ | 1秒 | 64M | 0 |
测试用例 3 | 以文本方式显示 1.ABDG-K035-9abd-h↵ | 以文本方式显示 1.ABDGHIJK0356789abdefgh↵ | 1秒 | 64M | 0 |
测试用例 4 | 以文本方式显示 1.abcdef ghi jkl mn↵ | 以文本方式显示 1.abcdef ghi jkl mn↵ | 1秒 | 64M | 0 |
测试用例 5 | 以文本方式显示 1.1-1↵ | 以文本方式显示 1.1-1↵ | 1秒 | 64M | 0 |
#include <stdio.h>
int main()
{
int i=0;
char s[100];
gets(s);
while(s[i]!='\0')
{
if(s[i+1]!='-')
{
printf("%c",s[i]);
i++;
}
else
{
if(s[i+2]>s[i] && ((s[i]<=57)+(s[i+2]<=57)!=1) && (s[i]<=57||s[i]>=65))
{
while(s[i]!=s[i+2]){
printf("%c",s[i]++);
}
i+=2;
}
else printf("%c",s[i++]);
scanf输入整型数组 }
}
printf("\n");
return 0;
}
44. 函数递归
成绩: 10 / 折扣: 0.8
编写一个函数,使用递归算法求满足下述定义的整数序列的第n项。
1 | 当 n >= 0 且 n <= 4 时 | |
f( n ) = | f(n-1) + f(n-3) | 当 n > 4 且n为偶数 时 |
f(n-2) + f(n-4) | 当 n > 4 且n为奇数 时 | |
-1 | 其他 | |
函数原型如下:
int findf(int n);
参数说明:n 项数;返回值是第n项值。
例如输入:10,输出:8
预设代码
前置代码
view plaincopy to clipboardprint?
1./* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论