本文主要是介绍哈工大 sse-改错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Q1113.(10分数, 语言: C)输入一个字符串保存到数组str中,将str中的数字字符存储到数组tOrigin中,并将其转换为整数输出,用k记录字符串中数字字符的个数。例如:用户输入字符串1243abc3,则将12433取出以整数形式输出。阅读程序,找出其中的错误,并改正之(允许改变数据类型)。#include <math.h> #include <stdio.h>void fun(char *s, char *t, int k) {int i;k = 0;for (i = 0; s[i]; i++)if (0 <= s[i] && s[I] <= 9){t[*k] = s[i];*k += 1;} } void main() {char str[100], tOrigin[9];long int n;int i, k;printf("Please enter string s:");scanf("%s", str);fun(str, tOrigin, &k);for (i = 0; i < k; i++)n += (tOrigin [k - 1 - i] - '0') * pow(10, i);printf("The result is: %d", n); }
答案:
#include <math.h>
#include <stdio.h>void fun(char *s, char *t, int *k)
{int i;
//this*k = 0;for (i = 0; s[i]; i++)
//thisif ('0' <= s[i] && s[i] <= '9'){t[*k] = s[i];*k += 1;}
//thist[*k] = '\0';
}
void main()
{char str[100], tOrigin[9];long int n;int i, k;printf("Please enter string s:");scanf("%s", str);
//thisfun(str, tOrigin, &k);for (i = 0; i < k; i++)n += (tOrigin [k - 1 - i] - '0') * pow(10, i);printf("The result is: %d", n);
}
这篇关于哈工大 sse-改错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!