gets存在安全漏洞,很多编译器已经摈弃了,用fgets
可以这样用
fgets(a,259,stdin);
注意:fgets会把换行符也添加到a中,若无特殊需要,知道最后两个字符是换行符+'\0'就行了。
由参考资料来看,只给出了一些关于判断奇偶数、累加符合条件的数、计算多项式导函数等一些题目的代码和思路。并未给出关于字符串问题的解决方案。因此,无法针对问题标题“如何解决openjudge中关于#c语言#字符串的问题?”,给出具体的解决方案。建议给出更为具体的问题描述和需要解决的具体问题,便于更好地解决问题。
修改如下,供参考:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
char a[260];
int sum = 0;
cin.getline(a,260);
int len = strlen(a);
for (int i = 0; i < len; i++){
if (a[i] >= '0' && a[i] <= '9')
sum++;
}
cout << sum;
return 0;
}
gets在stdio里,所以你加上
#include <stdio.h>
或者是
#include<cstdio>