以下函数中用于判断是否为数组的函数为()。
A、is_long
B、is_double
C、is_array
D、is_object
A、is_long
B、is_double
C、is_array
D、is_object
B、赋值语句max=MIN;中不应给max赋MIN值
C、语句if(max<x[i])max=x[i];中判断条件设置错误<br> D、赋值语句max=MIN;放错了位置
#d越lie MIN-2147483647
int findmax(int X[],int n)
{ int i,max;
for(i=0;i
{max=MIN;
if(max
return max;
}
造成错误的原因是
A.定义语句int i,max;中max未赋初值
B.赋值语句max=MIN;中,不应给max赋MIN值
C.语句if(max
D.赋值语句max=MIN;放错了位置
[说明1]
函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。
[C函数1]
int function(int a)
{ int yes,i;
i=2;yes=1;
while(i<=a/2 && (1) ){
if((2) ) yes=0;
i++;
}
return yes;
}
[说明2]
函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。
[C函数2]
int deleteARR(int*arr,int n)
{ int k,j;
k=0;j=1;
while(j<n){
if((3) )
(4)=arr[j];
j++;
}
return (5);
}
【函数2.1说明】
递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。
【函数2.1】
int sum (int a[],int n)
{
if(n>0) return (1);
else (2);
}
【函数2.2说明】
有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。
【函数2.2】
int compare (int a, int b, int c )
{ int temp, max;
(3) a:b;
(4) temp:c;
}
【函数2.3说明】
递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。
【函数2.3】
int dec(int a[], int n )
{
if(n<=1) return 1;
if(a[0]<a[1]) return 0;
return (5);
}
【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n<2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; k0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。
在Date类中设计如下重载运算符函数:
Date operator+(int days):返回某日期加上天数得到的日期。
Date operator-(int days):返回某日期减去天数得到的日期。
int operator-(Date&b):返回两日期相差的天数。
【程序】
#include
int day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
∥day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date
{
int year,month,day;∥年,月,日
int leap(int);∥判断是否为闰年
int dton(Date&);
Date ntod(int);
public:
Date(){}
Date(int y,int mint d){year=y;month=m;day=d;}
void setday(intd){day=d;}
void setmonth(int m){month=m;}
void setyear(int y){year=y;}
int getday(){return day;}
int getmonth(){return month:}
int getyear(){return year;)
Date operator+(int days)∥+运算符重载函数
{
static Date date;
int number= (1) ;
date=ntod(number);
return date;
}
Date operator-(int days)∥-运算符重载函数
{
staffs Date date;
int number= (2) ;
number-=days;
date=ntod(number);
return date;
}
int operator-(Date &b)∥-运算符重载函数
{
int days= (3) ;
return days;
}
void disp()
{
cout$amp;}
};
int Date::leap(int year)
{if((4) )∥是闰年
return 1;∥不是闰年
else
return0:
}
int Date::dton(Date &d)∥求从公元0年0月0日到d日期的天数
{
inty,m,days=0;
for(y=1;y<=d.year;y++)
if((5) )days+=366;∥闰年时加366天
else days+=365;∥非闰年时加365天
for(m=0;m
if((6) )
days+=day_tab[1][m];
else
days+=day_tab[0][m];
days+=D.day;
return days;
}
Date Date::ntod(intn)∥将从公元0年0月0日的天数转换成日期
{
int y=1,m=1,d,rest=n,lp;
while (1)
{if(leap(y))
if(rest<=366)break;
else rest-=366;
else∥非闰年
if(rest=365)break;
else rest-=365;
y++;
}
y--;
Ip=Ieap(y);
while (1)
{
if(Ip)∥闰年
if(rest>day_tab[1][m-1])rest-=day_tab[1][m-1];
else break;
else∥非闰年
if(rest>day_tab[0][m-1])rest-=day_tab[0][m-1];
else break;
m++;
}
d=rest;
return Date(y;m,d);
}
void main()
{
Date now(2003,10,1),then(2005,6,5);
cout$amp;cout$amp;cout$amp;Date dl=now+1000,d2=now-1000;
cout$amp;cout$amp;}
【说明】
下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。
函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。
【C程序代码】
include <stdio.h>
include <stdlib.h>
int isPalm(long m)
{ /*判断m是否为回文数*/
int i = 0, k = 0;
char str[32];
while (m > 0) { /*从个位数开始逐个取出m的各位数字并存入字符数组str*/
str[k++] =(1)+ '0';
m = m / 10;
}
for(i = 0; i < k/2; i++) /*判断str中的k个数字字符序列是否是回文*/
if (str[i] != str[(2)] ) return 0;
return 1;
}
int main ()
{
long n, a, t;
printf("input a positive integer:"); scanf("%ld",&n);
if (n < 100 || n > =1000) return -1 ;
while((3)) { /*n不是回文数时执行循环*/
printf("%ld-> ", n);
for(a = 0, t = n; t > 0; ) { /*计算n的反序数并存入a*/
a =(4)*10 + t % 10; t = t / 10;
} /*end of for*/
n =(5); /*与反序数求和*/
} /*end of while*/
printf ("%id\n",n);
system("pause"); return 0;
}
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!