C语言选择题 以下四个程序中不能对两个整型值进行交换的是( )

C语言选择题 以下四个程序中不能对两个整型值进行交换的是( ),第1张

程序C与D都不能运行,答案应该是有两个。

C)

main()

{

int

*a=0,*b=0

*a=10,*b=20

//这儿有错误,a与b没有指向作何对象,你确给对象赋值。

swap(a,b)

printf("%d%d\n",*a,*b)

}

swap(int

*p,int

*q)

{int

t

t=*p

*p=*q

*q=t

}

D)

main()

{

int

a=10,b=20,*x=0,*y=0

*x=&a,

*y=&b

//这两个赋值错误。正确的是:x=&a,

y=&b

swap(x,y)

printf("%d%d\n",a,b)

}

swap(int

*p,

int

*q)

{

int

t

t=*p

*p=*q

*q=t

}

// 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)

#include <stdio.h>

int main(void) { 

    long num

    int i,val=0

    printf("input a number:")

    scanf("%ld", &num)  //输入数字

    for (i=10 i<=num)

    {

        val+=num%i

        num/=10

    }

        val+=num

    printf("%d",val)

    return 0

}

// 输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。)

#include <stdio.h>

int main(void)

{

    int num=0,a=0

    printf("input a number:")

    scanf("%d",&num)  //输入数字

    for(int i=2i*i<=numi++)

    {    

        if(num%i==0){

        a=1

        break

        }

    }

    if(a!=1)

    {

        printf("%d Is a prime",num)

    }

    else

    {

        printf("%d Is not a prime",num)

    }

    return 0

}

// 1+3+5+…..+…..99=?

#include <stdio.h>

int main(void) { 

    int i,val=0

    for (i=1 i<=99 i++)

    {

        val+=i

    }

    printf("%d",val)

    return 0

}

// 1+1/2+1/3+1/4+……1/100=?

#include <stdio.h>

int main(void) { 

    float i,val=0

    for (i=1 i<=100 i++)

    {

        val+=1/i

    }

    printf("%f",val)

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11171536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存