关于#c语言#的问题,请各位专家解答!

img


需要怎么改才能正确?请大家指教。
本题为openjudje中的字符串相关问题。

gets存在安全漏洞,很多编译器已经摈弃了,用fgets
可以这样用
fgets(a,259,stdin);
注意:fgets会把换行符也添加到a中,若无特殊需要,知道最后两个字符是换行符+'\0'就行了。

  • 以下回答由chatgpt基于相关博客总结生成:

    由参考资料来看,只给出了一些关于判断奇偶数、累加符合条件的数、计算多项式导函数等一些题目的代码和思路。并未给出关于字符串问题的解决方案。因此,无法针对问题标题“如何解决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>