C语言的代码问题,求大神帮忙看看问题在哪? C语言问题,求大神看看帮忙修改

作者&投稿:语毓 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
int check(int n){
int i,k=0;
for(i=2;i<=n/2;i++)
if(n%i==0) break;
if(i>n/2&&n>1) k=1;
return k;
}
int main(){
int i,n;
scanf("%d",&n);
if(n<=10||n%2) //哥德巴赫猜想。其实对任意不小于4的偶数都成立,而不是10
printf("Data error!");
else
{
for(i=2;i<n;i++)
if(check(i)*check(n-i))
printf("%d=%d+%d
",n,i,n-i);
}
return 0;
}

//运行示例:



#include <stdio.h>
#include <stdlib.h>
int sushu(int n);
int main()
{
    int a, i, j = 0, p = 0, k;
    printf("输入一个大于10的偶数:
");
    scanf("%d", &a);
    if (a <= 10 && a % 2 != 0)
    {
        printf("输入的数错误!
");
        exit(0); //如果a<=10且不为偶数,程序结束 
    }

    int b[a];//可变长数组需要编译器支持C99
    for (i = 2; i < a; i++)
    {
        k = sushu(i);
        if (k == 1)
        {
            b[j] = i; //判断a的加数内的素数并且存放数组b内 
            j++;
            p++;//素数数组长度 
        }
    }

    printf("
两素数之和等于%d的所有可能如下:
", a);

    for (j = 0; j < p ; j++)
    {
        for (i = j ; i < p; i++)
        { //利用选择排序法选择两个素数之和等于a的素数
            if (b[j] + b[i] == a)
                printf("%d=%d+%d", a, b[j], b[i]);
        }
    }
}

int sushu(int n)
{ //判断素数的函数 
    int i;
    for(i=2;i<n;i++)
    {
        if(n%i==0) 
            return 0;
    }
  //else if(i>=n) 
  return 1;
  //}
}


申请数组的时候用变量指定大小现在可以了?我记得以前好像不行。逻辑没细看,就感觉这个地方怪怪的:int b[a];

C语言路径问题,求大神帮忙看看问题出在哪~

需要新建一个文件夹,在D盘下。
#include#include#includeint main(){ system("mkdir D:\\Zhuan"); FILE *fp = fopen("D:\\Zhuan\\zhuan.txt", "w"); assert(fp); fclose(fp); system("pause"); return 0;}

是编译出错还是运行不出需要的结果?
把报错信息提示一下

这两道c语言题看看有没有大神能帮忙啊谢谢啦
答:n为偶数 n为奇数 第二题,题目是要求1×2×3×...×40的结果么?感觉题目描述有点问题。。。如果是我的理解的话,这题目没法搞啊。。从1累乘到40,这个数字非常大,即使采用无符号长整型(unsigned long int)变量也存不下啊!以下先给题主一个求10以内正整数乘积的代码吧 include <stdio.h...

有一个C语言的编程问题,求大神帮忙看看下面的码哪有错,运行时总是计算...
答:max1 = max(n, m, (double (*)[m])name); print(n, avarage1, avarage_all1, max1); //getch(); free(name); /*用完记得回收*/ free(avarage1); return 0;}我是尽可能保留楼主原来的思路来修改的代码,所有 /* */ 标注的注释的地方,都是我改过的。另外,不...

...第二个输出的文字什么的都不显示,求大神帮忙看看
答:将scanf("%d",year);改成scanf("%d",&year);---同时我尝试了一下你的代码,发现输入第一个数以后,紧接着就需要输入第二个数才会提示输入年份,这是因为在第一个scanf语句中你使用了换行符,输入第一个数后需要回车,而回车就是换行,所以又一点问题,我改了一下 include <stdio.h> int main...

跪求C语言大神帮我看看写的代码哪里有问题?在线等!!!
答:好几个地方错:1、m=0;应该放在初始化之后for循环之前,然后判断连续数字结束之后,即(*num)++之后再重置为0 2、*(p+(*num))+=(*(str+k))*pow(10,j); 这句有点问题,因为*(str+k)是个字符,所以你还要减去48才是数值,另外在赋值运算之前,即for循环开始前要先赋初始值为0。3、最后...

求c语言大神帮忙看看这个程序的问题,小弟初学c语言,看不懂报错说的是...
答:首先,把主函数第一行放到第三行 其次,数组a没有初始化,最开始的时候整个数组是没有任何值的 for(j=0;j<=i;j++){ if(t

C语言代码出错
答:2.然后就是 ; 号了,虽然很不起眼但是却很重要,缺少了就不可以。不仅仅是缺少了不行就是你输入的是中文状态下的分号依然不可以。C对中文还是很敏感的。3.再就是大括号的封闭问题了,很多同学刚刚写程序的时候往往只写上一半大括号,把下一半大括号忘记了。这是最基本的也是最常见的错误。4....

c语言编程,求大神看看这题怎么做
答:include <stdio.h>int main(){int ah,am,as,bh,bm,bs,n; scanf("%d",&n); while(n--) {scanf("%d%d%d",&ah,&am,&as,&bh,&bm,&bs); ah+=bh; am+=bm; as+=bs; am+=as/60; as%=60; ah+=am/60; am%=60; printf("%d %d %d\n",ah,am,as); } return ...

C语言 新手求教大神,请大神帮忙看看这个程序问题在哪?请详解,谢谢!!
答:int sum(int ,int);int pro(int ,int);int dif(int ,int);函数声明错误,int之间有逗号 希望可以帮到你!

各位c语言大神来看看这道编程题!!
答:2015-05-05 一道C语言编程题,求大神解答,急!!! 4 2014-11-25 matlAB编程,大神指导啊!,百度上只有这道题c语言编程!... 2014-01-10 求大神帮忙看一下这段C语言代码哪有问题,自己做的一道编程题 2018-01-07 这里有一道C语言编程题求各位大神帮忙 2 2016-06-13 C语言考试各位大神来看看啊救命啊 四...

求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。
答:这具体要看你的num和stu[]数组的情况了。还有,这程序写的是二进制文件,而且文件没有扩展名。这都是在查看文件时要注意到的。经验证,这个程序是可以写入文件的。