输入一个字符串(内含数字和非数字字符),将其中连续数字作为一个整数依次放在数组a中,统计其中有多少个整数,并输出这些数。(例如:a2345b12#345$wr12z这个字符串,将a[0]存放2345,将12存放在a[1]中,最后统计存放个数,以及输出这些数值。)
3条回答 默认 最新
关注【以下回答由 GPT 生成】
解决方案如下:
#include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { char input[100]; int a[100]; int count = 0; int number = 0; printf("请输入字符串:"); fgets(input, sizeof(input), stdin); for (int i = 0; input[i] != '\0'; i++) { if (isdigit(input[i])) { number = number * 10 + (input[i] - '0'); } else { if (number) { a[count++] = number; number = 0; } } } printf("提取出的整数为:"); for (int i = 0; i < count; i++) { printf("%d ", a[i]); } printf("\n一共提取出了%d个整数", count); return 0; }这个程序使用一个循环遍历输入的字符串,判断每个字符是不是数字。如果是数字,就将其加到之前的数字之后形成一个整数;如果不是数字,则将之前的数字存入数组a中,并将计数器count加1,同时将之前的数字清零。最后,输出提取出的整数以及整数的数量。
运行结果示例:
请输入字符串:a2345b12#345$wr12z 提取出的整数为:2345 12 345 12 一共提取出了4个整数
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用