第1题(10.0分)题号:664题目:已知有构造体类型定义:structnode{intdata;structnode*nextPtr;};编写函数voidprintList(structnode*head),对head指向的单向链表,找出data组员值为正数的所有结点,输出这些结点在链表中的序号(第1个结点序号为1)和data组员值。答案:voidprintList(structnode*head){structnode*p;inti=1;p=head;while(p!=NULL){if(p->data>0)cout<<"\n数据:"<
data<<"序号:"<nextPtr;}}第2题(10.0分)题号:693题目:编写一段程序,计算输入流input中第一种$之前的字符数目,存入count变量。答案:while(input.get(ch)&&ch!='$')count++;第3题(10.0分)题号:592题目:用“辗转相除措施”计算两个数x,y的最大公约数答案:n=x%y;while(n!=0){x=y;y=n;n=x%y;}第4题(10.0分)题号:708题目:从文献中读入n个字符串,将其中以字母A开头的字符串复制到二维字符数组str1中。答案:for(i=0;i=0)&&(strcmp(str[i],"B")<0)){strcpy(str1[j],str[i]);j++;}}第5题(10.0分)题号:639题目:从键盘输入一种正整数n,该正整数可以分解成两个正整数k1和k2之和(容许k1和k2相等)。请编写一种函数求使两个正整数的乘积最大的分解方案,并返回乘积max。答案:inti,max;max=1*(n-1);for(i=2;imax){max=i*(n-i);}第6题(10.0分)题号:686题目:写一种函数记录字符串中,大写字母和小写字母的个数,并分别保留在全局变量Supper和Low中。答案:inti=0;while(input[i]!='\0'){if(input[i]<='Z'&&input[i]>='A')Supper++;if(input[i]<='z'&&input[i]>='a')Low++;i++;}第7题(10.0分)题号:628题目:求100以内(不含100)能被3整除且个位数为6的所有整数,答案:inti,count=0;for(i=0;i<100;i++)if(i%3==0&&i%10==6){a[count++]=i;cout<0;i--){if(i>0&&a[i-1]>n)a[i]=a[i-1];elsebreak;}a[i]=n;第9题(10.0分)题号:704题目:编写函数,把一种数字字符构成的字符串转换为对应的整数(如"1234"转换为1234)。答案:inta2i(chards[]){intv=0;for(inti=0;ds[i]!='\0';i++){v=v*10+ds[i]-'0';}returnv;}第10题(10.0分)题号:728题目:求400之内的一对亲密对数。所谓亲密对数A和B,即A不等于B,且A的所有因子(如,6的因子是1、2、3)之和等于B,B的所有因子之和等于A。求出的亲密对数寄存在A和B中,且A