求高手解答C++试题(二)--答案正确追加20分

17、下列数组的定义中,()是错误的。A.charca1[]={‘c’,’m’,’n’};B.charca2[]=”name”;C.charca3[4]=”your”;D... 17、下列数组的定义中,( )是错误的。
A.char ca1[]={‘c’,’m’,’n’}; B.char ca2[]=”name”;
C. char ca3[4]=”your”; D.int array[]={1,2,3,4};
18、下列字符列中,可作为C++语言程序自定义标识符是( )。
A.switch B.file C.break D.do
二、程序分析题:准确写出程序运行结果(每题4分,共20分)
1、 #include<iostream.h>
void main()
{ int i,k=0;
for(i=1; ;i++)
{k++;
if(k%3= =0)
break;
}
cout<<”i=”<<i<<” ”<<”k=”<<k<<endl;
} 程序运行结果为:
2、#include<iostream.h>
void main()
{ int x=1, y=0, a=0, b=0;
switch(x)
{ case 1: switch(y)
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break; }
cout<<”a=”<<a<<” ”<<”b=”<<b;} 程序运行结果为:
3、 #include <iostream.h>
void fun( );
int n=5;
void main( )
{ int n=10;
cout<<”n=”<<n<<endl;
fun();
}
void fun( )
{ cout<<”n=”<<n<<endl; } 则程序运行结果:
4、研究下列C程序:
#include <iostream.h>
void fun(int x, int y, int z)
{z=x*x+ y*y;}
void main()
{ int a=31;
fun(5,2,a);
cout<<”a=”<<a<<endl;
} 则运行结果为:
5、#include <iostream.h>
void main()
{ int a=10,b=20;
a=a+b;
b=a-b;
a=a-b;
cout<<”a=”<<a<<” ”<<”b=”<<b<<endl;
} 则程序执行结果为:
三、完成程序题(每题6分,共24分)
1、 下列程序计算数组中所有元素的和,请填空:
#include<iostream.h>
void main()
{ int a[8]={3,5,-9,10,7,2,12,6};
int i,sum;
(1)
for(i=0;i<= (2) ;i++)
(3)
cout<<"sum:"<<sum<<endl;
}
2、从键盘输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,完成下面的程序填空:
#include<iostream.h>
void main()
{ float mark, max, min;
________(1)________;
max=mark;
min=mark;
while(_____ (2) _________)
{
if(mark>max) max=mark;
if(mark<min) min=mark;
_____ (3)________}
cout<<”max is:”<<max<<endl;
cout<<”min is:”<<min; }

3、下列程序中,通过自定义函数fun()将华氏温度转换为摄氏温度,公式为C=(F-32)*5/9;请完成程序。
#include<iostream.h>
(1)
void main()
{ float x;
cout<<"请输入一个温度值 ";
cin>>x;
cout<<"转换值为 "<< (2) <<endl;
}
float fun(float f)
{float c;
c=5.0/9*(f-32);
(3)
}
4、下列程序的功能是:从键盘输入一个字符串(小于80个字符)存入字符数组s2中,再将该串拷至字符数组s1中,请填空:
#include<iostream.h>
#include<string.h>
void main()
{ char s1[80],s2[80];
int i;
cout<<"Input s2:"<<endl;
(1)
for(i=0;i<= (2) ;i++)
(3)
cout<<"s1:"<<s1<<endl;
四、程序设计题(每题10分,共20分)

1、编程实现:从键盘上输入10个整数,存入一维数组中,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换并输出处理后的数组。

2、从键盘上输入一个字符串,编写函数计算字符串的长度,并返回结果值。(不能使用strlen())
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
baqktdgt
推荐于2016-05-12 · TA获得超过474个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:236万
展开全部
17、下列数组的定义中,( )是错误的。
A.char ca1[]={‘c’,’m’,’n’}; B.char ca2[]=”name”;
C. char ca3[4]=”your”; D.int array[]={1,2,3,4};
// A对,B对,C错 数组长度太小,D对。

18、下列字符列中,可作为C++语言程序自定义标识符是( )。
A.switch B.file C.break D.do
// A C D都是keyword,不能用

二、程序分析题:准确写出程序运行结果(每题4分,共20分)
1、 #include<iostream.h>
void main()
{ int i,k=0;
for(i=1; ;i++)
{k++;
if(k%3= =0)
break;
}
cout<<”i=”<<i<<” ”<<”k=”<<k<<endl;
} 程序运行结果为:

i = 1, k = 1
i = 2, k = 2
i = 3, k = 3 退出循环,然后打印

2、#include<iostream.h>
void main()
{ int x=1, y=0, a=0, b=0;
switch(x)
{ case 1: switch(y)
{ case 0: a++; break;
case 1: b++; break;
}
case 2: a++; b++; break; }
cout<<”a=”<<a<<” ”<<”b=”<<b;} 程序运行结果为:

x = 1, y = 0 所 a++; break;执行
然后接着执行 a++; b++; break;因为 case 1:最后没有break
所以a = 2, b = 1

3、 #include <iostream.h>
void fun( );
int n=5;
void main( )
{ int n=10;
cout<<”n=”<<n<<endl;
fun();
}
void fun( )
{ cout<<”n=”<<n<<endl; } 则程序运行结果:
先打印局部变量 10,再打印全局变量 5

4、研究下列C程序:
#include <iostream.h>
void fun(int x, int y, int z)
{z=x*x+ y*y;}
void main()
{ int a=31;
fun(5,2,a);
cout<<”a=”<<a<<endl;
} 则运行结果为:

fun函数不影响函数外部,所以a还是31

5、#include <iostream.h>
void main()
{ int a=10,b=20;
a=a+b; // a=30,b=20
b=a-b; // b=10,a=30
a=a-b; // a=20,b=10 这三句就是交换a和b
cout<<”a=”<<a<<” ”<<”b=”<<b<<endl;
} 则程序执行结果为:

三、完成程序题(每题6分,共24分)
1、 下列程序计算数组中所有元素的和,请填空:
#include<iostream.h>
void main()
{ int a[8]={3,5,-9,10,7,2,12,6};
int i,sum;
sum = 0
for(i=0;i<= 7;i++)
sum += a[i]
cout<<"sum:"<<sum<<endl;
}

2、从键盘输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,完成下面的程序填空:
#include<iostream.h>
void main()
{ float mark, max, min;
scanf("%f", &mark);
max=mark;
min=mark;
while(mark >= 0)
{
if(mark>max) max=mark;
if(mark<min) min=mark;
scanf("%f", &mark);}
cout<<”max is:”<<max<<endl;
cout<<”min is:”<<min; }

3、下列程序中,通过自定义函数fun()将华氏温度转换为摄氏温度,公式为C=(F-32)*5/9;请完成程序。
#include<iostream.h>
float fun(float f);
void main()
{ float x;
cout<<"请输入一个温度值 ";
cin>>x;
cout<<"转换值为 "<< fun(x) <<endl;
}
float fun(float f)
{float c;
c=5.0/9*(f-32);
return c;
}
4、下列程序的功能是:从键盘输入一个字符串(小于80个字符)存入字符数组s2中,再将该串拷至字符数组s1中,请填空:
#include<iostream.h>
#include<string.h>
void main()
{ char s1[80],s2[80];
int i;
cout<<"Input s2:"<<endl;
cin>>s2;
for(i=0;i<=strlen(s2) ;i++)
s1[i] = s2[i];
cout<<"s1:"<<s1<<endl;
四、程序设计题(每题10分,共20分)

1、编程实现:从键盘上输入10个整数,存入一维数组中,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换并输出处理后的数组。

#include <stdio.h>

int main()
{
int a[10];
int i;
int num;
int min, min_flag;
for(i = 0; i < 10; ++i) {
scanf("%d", &num);
a[i] = num;
}
min = a[0];
min_flag = 0;
for(i = 1; i < 10; ++i) {
if(min > a[i]) {
min = a[i];
min_flag = i;
}
}
num = a[0];
a[0] = a[min_flag];
a[min_flag] = num;
for(i = 0; i < 10; ++i) {
printf("%d ", a[i]);
}
return 1;
}

2、从键盘上输入一个字符串,编写函数计算字符串的长度,并返回结果值。(不能使用strlen())

#include <stdio.h>

int main()
{
char s[1024];
int i;
int len = 0;
scanf("%s", s);
for(i = 0; *(s+i) != '\0' ; ++i) {
++len;
}
printf("%d", len);
return 1;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式