请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <string.h>
long fun(char *p)
{
}
main ()
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}
A.第11行: ret != 0第29行: i<=number第31行: number / i == 0
B.第11行: ret != 0第29行: i<=sqrt(number)第31行: number % i == 0
C.第11行: ret == 0第29行: i<=sqrt(number)第31行: number / i == 0
D.第11行: ret == 0第29行: i<=number第31行: number % i == 0
有一个函数
{ x ( x<1 )
y= { 2x-1 (1<=x<10 )
{ 3x-11 (x>=10 )
写一程序,输入x值,输出y值。
下列给定的程序中,函数hn()的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
include <math.h>
void fun(int a, int *b, int *c)
{ int i,j,d,y;
for (i=3;i<=a/2;i=i+2)
/*************found**************/
{y=0;
for (j=2;j<=sqrt((double)i);j++)
if (i%j==0) y=0;
if (y==1)
/*************found**************/
{ d=i-a;
for (j-2;j<=sqrt((double)d);
j++)
if (d%j==0) y=0;
if (y=-1)
{*b=i; *c=d;}
}
}
}
main ()
{ int a,b,c;
do
{ printf("\nInput a: ");
scanf ("%d", &a); }
while (a%2);
fun (a, &b, &c);
printf ("\n\n%d=%d+%d\n", a,b,c);
}
A.明文消息的长度
B.一个512比特的明文块
C.128比特的链接变量
D.一个处理密钥
A.函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位
B.函数不能启动任务,而任务能启动其它任务和函数
C.任务至少要有一个输入变量,而函数可以没有或有多个任何类型的变量
D.函数返回一个值,而任务则不返回值