一、分析程序,写输出结果。
#include<>
#include<>
void main()
int m, k, i ;
for( m=1; m<=10; m+=2 )
解:m 的取值为1,3,5,7,9
对应k的取值为0,1,1,2,3,第二个for循环:只有当k=2和k=3时才执行,当k=2,i=2,m%i等于1为真,输出m为7
当k=3,i=2,m%i等于1为真,输出m为9,i=3,m%i等于0为假,无输出。结果为:
#include<>
void fun();
void main()
int i;
for(i=1;i<5;i++)fun();
cout<}
void fun()
static int a;
int b=2;
a +=2 ;
cout<< a+b < 解:主函数循环4次调用fun(); fun()函数内定义了静态局部变量a,所以a的值会保持到下一次调用。结果为: #include<> int fun(int n) if(n==0) return 1; return 2*fun(n-1); void main() int a=5; cout<} 解:fun()函数用递归求出2的n次方,结果为: 32 #include<> void main() char *cp="word"; for (int i=0 ; i<4; i++ cout<} 解:主函数4次循环中,第一次输出cp+i,此时cp指向“word”的第一个字符,所以输出“word”,之后cp依次往后移一个位置,输出此位置及后面的字符。 结果为:word ord rd d 二、.根据程序功能填空。 1. 程序把10个数存储到一维数组a中,并求该数组中最大值。 #include<> void main() int max; int a[10]=; int *p= a max=*p; for( ;p< &a[10p if( *p>max ) max= *p cout<<"max= " 2.下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。例如,45两位数字的乘积为4×5=20,和为4+5=9。 #include<> void main() int n, k=1, s=0, m; for(n=1; n<=100; n++) if(k>s) cout< } 3.程序对输入的n求s = 1 + 1/23 + 1/33 + 1/n3 。 #include<> void main() double s; int i, n; cout<<"n= "cin>>n; s = 0; for (i=1; i s= s+1/(i*i*i cout<<"s="< 4.函数create从键盘输入整数序列,以输入0为结束。按输入顺序建立一个以head为表头的单向链表。 struct node; create( node *head node *p, *q; p=new node; cin>>p->data; q=p;while( p->data q->next=null; delete p; 5.以下程序求方程的全部整数解: 3x + 2y - 7z = 5 ( 0 ≤ x, y, z ≤ 100 ) #include<> void main() int x, y, z ; for( x=0; x<=100; x++ for( y=0; y<=100; y++ 三、程序设计。 1. 编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。 答:void printfigure(int num, int row) int i, j, k; num = num - row +1; for(i = 1; i <=row; i++) 2. 请编程序,输入两个正整数啊a和b(athe factors of 6 : the factors of 7 : no factor the factors of 8 : 答: #include<> #include<> void out(int a, int b) int i, j, count; for(i = a; i <=b; i++) count = 0; printf("the factor of %d", i); for(j = 2; j < i; j++) if(i % j ==0) printf("%s%d", count ==0j); count++; if(count ==0)printf("no factor"); 3.请编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,所以5和25都是同构数。 答:#include using namespace std; void main() int i, j, k; k = 10; for(i = 1; i <=99; i++) cout<} 4. 编写一个程序,实现如下功能: (1)从键盘输入a op b。其中a, b为数值;op为字符,限制为+、- (2)调用函数count(op,a,b),计算表达式a op b的值。由主函数输出结果。 答:#include "" #include using namespace std; class cal public: int add(int x,int y) /加法定义函数。 return x+y; } int sub(int x,int y) /减法定义函数。 return x-y; } int mul(int x,int y) /乘法定义函数。 return x*y; } int div(int x,int y) /除法定义函数。 if(y==0) cout<<"0不能作除数" return x/y; int main() cal c; /定义对象。 int x,y; char id; cout<<"请输入要计算的两个数及运算符,中间用空格隔开比如2 3 +"cin>>x>>y>>id; switch (id) case '+ cout<< case '- cout<< case '* cout<< 1.下列字符列中,合法的标识符是 a begin b for c 答题 已提交 21.以下运算符中,优先级最低的是 a b c d 参 b 1.设有变量定义inty 234 执行语句cout 答题 已提交 1.有函数定义void 不正确的调用方式是 a b c d 答题 已提交 1.一个5个元素的一... 作业一c语言概述参 一 选择题。1 5acdcb二 编程题main 作业二程序的灵魂 算法参 一 填空题。1 确定性 有效性 有零个或多个输入 有一个或多个输出2 顺序结构 选择结构 循环结构3 函数。作业三数据类型 运算符与表达式参 一 选择题1 5bddab21 25addba 6 10bcaa... c 语言程序设计复习课。一 第一章单选题。1 在每个c 程序中都必须包含有这样一个函数,该函数的函数名为 答案 a a main b main c name d function 2 c 源程序文件的缺省扩展名为 答案 a a cpp b exe c obj d lik 3 程序运行中需要从键盘上输...华工高级语言程序设计C 随堂练习答案
C语言程序设计作业答案
C 语言程序设计作业答案