对于一个3位的正整数m,取出它的个位数字t(t为整型)的表达式是______。A.t=m/100%10B.t=(m-m/100*1
对于一个3位的正整数m,取出它的个位数字t(t为整型)的表达式是______。
A.t=m/100%10
B.t=(m-m/100*100)%10
C.t=m/lO%10
D.t=m/10
对于一个3位的正整数m,取出它的个位数字t(t为整型)的表达式是______。
A.t=m/100%10
B.t=(m-m/100*100)%10
C.t=m/lO%10
D.t=m/10
信号量S是一个互斥信号量,初值为(22);S1、S2的初值分别为(23)。
(22)
A.0
B.1
C.n
D.任意正整数
(23)
A.n、0
B.0、n
C.1、n
D.n、1
信号量S是一个互斥信号量,初值为(22);Sl、S2的初值分别为(23) 。
(22)
A.0
B.1
C.n
D.任意正整数
(23)
A.n、0
B.0、n
C.1、n
D.n、1
已知数据文件IN56.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数 (新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数均为素数且新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数cnt,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT56.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include
define MAX 200
int a[MAX],b[MAX],cnt=0;
int isprime(int m)
{
int i;
for(i=2;i<=m/2;i++)
if(m%i==0) return 0;
return 1;
}
void isval()
{
}
void readDat()
{
int i;
FILE *fp;
fp=fopen("IN56.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}
main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i<cnt;i++)
printf("%d\n",b[i]);
printf("\n");
writeDat();
}
writeDat()
{
FILE *fp;
int i;
fp=fopen("OUT56.DAT","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp, "%d\n",b[i]);
fclose(fp);
}
论述题1:以下是某应用程序的规格描述,请按要求回答问题
程序规则:实现某城市的电话号码,该电话号码由三部分组成。它的说明如下:区号空白或3位数字;前缀非“0”或“1”开头的3位数字;后缀4位数字。
(1)请分析该程序的规则说明和被测程序的功能
(2)采用等价类划分方法设计测试用例。
窗体上有Commandl、Command2两个命令按钮。现编写以下程序:
OptionBase 0
Dim a()As Integer,m As Integer
Private Sub Commandl_Click()
m=InputBox(”请输入一个正整数”)
ReDim a(m)
End Sub
Private Sub Command2_Click()
in=InputBox(”请输入一个正整数”)
ReDim a(m)
End Sub
运行程序时,单击Commandl后输入整数10,再单击Command2后输入整数5,则数组a中元索的个数是
A.5
B.6
C.10
D.11
#include <stdio.h>
main ()
{ int x=256;
printf (" %d-%d-%d\n " , 【 13 】 ,x/10%10,x/100 ) ;
}
如果一个正整数从高位到低位上的数字依次递减,则称其为降序数(如:9632是降序数,而8516则不是降序数)。现编写如下程序,判断输入的正整数是否为降序数。
Private Sub Command1 Click()
Dim n As Long
Dim flag As Boolean
n=InputBox("输入一个正整数")
S=Trim(Str(n))
For i=2 To Len(s)
If Mid(s,i-1,1)<Mid(S,i,1)Then Exit For
Next i
If i=Len(S)Then flag=True Else flag=False
If flag Then
Print n;"是降序数"
Else
Print n;"不是降序数"
End If
End Sub
运行以上程序,发现有错误,需要对给flag变量赋值的If语句进行修改。以下正确的修改是()。
A.If i=Len(s)+1 Then flag=False Else flag=True
B.If i=Len(s)+1 Then flag=True Else flag=False
C.If i=Len(s)-1 Then flag=False Else flag=True
D.If i=Len(s)-1 Then flag=True Else flag=False
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中:它既是完全平方数,又有两位数字相同,例如144,676等。
请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过所编制的函数返回。
最后调用函数wfiteDat()把结果输出到文件OUTl2.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数wnteDat()的内容。
试题程序:
include<stdio.h>
int jsValue(int bb[ ]
{
}
main ()
{
int b[20], num;
num= jsValue(b);
writeDat (num, b);
}
writeDat(int num, int b[])
{
FILE *out;
int i;
ut = fopen("OUT12.DAT", "w");
fprintf(out, "%d\n", num);
for(i = 0; i <num; i++)
fprintf(out, "%d\n", b[i]);
fclose (out);
}
已知数据文件IN.dat中存有200个四位数,并己调用读函数rData()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数一个是奇数,另一个为偶数,并且两个二位数中至少有一个数能被17整除,同时两个新数的十位数字均不为 0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数count。最后main()函数调用写函数wData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。
注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],己定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数rData()和写函数wData()的内容。
include <stdio. h>
define MAX 200
int a[MAX], b[MAX], count = 0;
void spellNum ()
{
}
void rData()
{ int i;
FILE *fp;
fp = fopen("IN.dat", "r") ;
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a[i]);
fclose (fp);
}
void wData ()
{ FILE *fp;
int i;
fp = fopen("OUT.dat", "w");
fprintf(fp, "%d\n", count);
for (i=0; i<count; i++)
fprintf(fp, "%d\n", b[i]);
fclose (fp);
}
void main ()
{ int i;
rData ();
spellNum ();
printf ("满足条件的数=%d\n", count);
for (i=0; i<count; i++)
printf("%d ", b[i]);
printf ("\n");
wData ();
}
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
vOid fun(int m,int n,int*bei,int*yue)
{int s=l,i;
if(m>n){s=m;m=n;n=S;}
for(i=2,s=1;i<m i++)
if((m%i=0)&&(n%i=0))
{
}
*yue=s;
*bei=S*m*n;
}
main()
{int a,b,beishu,yueshu;
chscr();
printf("please input a,b:");scanf("%d,%d,"&a,&b);
fun(a,b,&beishu,&yueshu);
printf("a,b beishu:%d\n",beishu);
printf("a,b yueshu:%d\n",Yueshu);
}
在文件in33.dat中有200个正整数,且每个正整数均在1000至9999之间。函数readDat()的功能是读取这200个数并存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按照每个数的后3位的大小进行升序排列,将排序后的前10个数存入数组bb中,如果数组bb中出现后3位相等的数,则对这些数按原始 4位数据进行降序排列,最后调用函数writeDat()把结果bb输出到文件out33.dat中。
例如:处理前6012 5099 9012 7025 8088
处理后9012 6012 7025 8088 5099
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
include<stdio. h>
include<string. h>
include<conio. h>
int aa[200] ,bb[10];
void readDat ();
void writeDat();
void jsSort()
{
void main ()
{
readDat ();
jsSort ();
writeDat ();
}
void readDat ()
{
FILE *in;
int i;
in=fopen ("in33 .dat" , "r" );
for(i=0;i<200;i++) fscanf (in, "%d ".&aa[i]);
fclose (in);
}
void writeDat ()
{
FILE *out;
int i;
clrscr ();
ut =fopen ("out33 .dar" , "w" );
for (i=0; i<10; i++)
{
printf ("i=%d, %d\n", i+1, bb[i] ;
fprintf (out, "%d\n" ,bb[i] );
}
fclose (out);
}