如图 实验九两道C语言编程题,求大神给出完整代码解答,初学者表示能力有限,谢谢了!!急!!!

如图实验九两道C语言编程题,求大神给出完整代码解答,初学者表示能力有限,谢谢了!!急!!!要钱的勿扰谢谢... 如图 实验九两道C语言编程题,求大神给出完整代码解答,初学者表示能力有限,谢谢了!!急!!!要钱的勿扰谢谢 展开
 我来答
zamswi
2016-12-06 · TA获得超过212个赞
知道小有建树答主
回答量:224
采纳率:33%
帮助的人:153万
展开全部
#include <stdio.h>
//计算字母和数字的个数并打印
void char_count(char* input, int size) {
    int i = 0, j = 0;
    for (char* p = input; p < input + size; ++p) {
        if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) {
            ++i;
        } else if (*p >= '0' && *p <= '9') {
            ++j;
        }
    }
    printf("%.*s : letter=%d, number=%d\n", size, input, i, j);
}
//将数组左移一位并抛弃第一位的元素
void array_move(char* input, int count) {
    for (char* p = input + 1; p < input + count; ++p) {
        *(p - 1) = *p;
    }
}
//删除数组中指定的值并返回数组长度
int array_delete(char* input, int size, char ch) {
    int i = size;
    for (char *p = input; p < input + size; ++p, --i) {
        if (*p == ch) {
            int len = array_delete(p + 1, --i, ch);
            array_move(p, len + 1);
            return size - i - 1 + len;
        }
    }
    return size;
}
//主函数
int main(int argc, char *args[]) {
    char buf[] = "1ab123cdefg81hij1klm812nopq7461";
    char_count(buf, sizeof(buf) - 1);
    int count = array_delete(buf, sizeof(buf) - 1, '1');
    printf("%.*s\n", count, buf);
    return 0;
}
更多追问追答
追问
这两道实验题是分开编程序的,你给的这个是把两个编到一起了吧?
分开编的话要怎么编呢😊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式