求C++高手帮助解答
基础操作题(共6题,每题5分,共30分)1.下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。main(){inti,j,k,count=0;for(i=1...
基础操作题(共6题,每题5分,共30分)
1. 下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。
main()
{ int i,j,k,count=0;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
if( ① ) continue;
else for(k=0;k<=9;k++)
if( ② ) count++;
printf("%d",count);
}
2. 下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a已排好序。
#include <string.h>
main()
{ char a[20]="cehiknqtw";
char s[]="fbla";
int i,k,j;
for(k=0;s[k]!= '\0';k++ )
{ j=0;
while(s[k]>=a[j] && a[j]!= '\0' )
j++;
for( ① )
② ;
a[j]=s[k];
}
puts(a);
}
3. 下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。
hcf(int m,int n)
{ int r;
if(m<n)
{ r=m;
① ;
n=r;
}
r=m%n;
while( ② )
{ m=n;
n=r;
r=m%n;
}
③ ;
}4. 下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( ① )
{ if(x>amax) amax=x;
if( ② ) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
5. 下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>
main()
{ int a,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a= ① ;
b= ② ;
a= ③ ;
printf("a=%d,b=%d\n",a,b);
}
6. 下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h>
double pi(long n)
{ double s=0.0;
long i;
for(i=1;i<=n;i++)
s=s+ ① ;
return( ② );
}
综合操作题(共2题,每题10分,共20分)
1. 将1到9这九个数字分成3个三位数a,b,c,要求第1个三位数,正好是第2个三位数的两倍,是第3个三位数的三倍。用程序求解怎么分。
2. 输入两个字符串,要求将这两个字符串交叉连接。如串1为"ABCD",串2为"123456",则合并后的串为"A1B2C3D456"。 展开
1. 下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。
main()
{ int i,j,k,count=0;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
if( ① ) continue;
else for(k=0;k<=9;k++)
if( ② ) count++;
printf("%d",count);
}
2. 下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a已排好序。
#include <string.h>
main()
{ char a[20]="cehiknqtw";
char s[]="fbla";
int i,k,j;
for(k=0;s[k]!= '\0';k++ )
{ j=0;
while(s[k]>=a[j] && a[j]!= '\0' )
j++;
for( ① )
② ;
a[j]=s[k];
}
puts(a);
}
3. 下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。
hcf(int m,int n)
{ int r;
if(m<n)
{ r=m;
① ;
n=r;
}
r=m%n;
while( ② )
{ m=n;
n=r;
r=m%n;
}
③ ;
}4. 下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while( ① )
{ if(x>amax) amax=x;
if( ② ) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
5. 下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>
main()
{ int a,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a= ① ;
b= ② ;
a= ③ ;
printf("a=%d,b=%d\n",a,b);
}
6. 下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h>
double pi(long n)
{ double s=0.0;
long i;
for(i=1;i<=n;i++)
s=s+ ① ;
return( ② );
}
综合操作题(共2题,每题10分,共20分)
1. 将1到9这九个数字分成3个三位数a,b,c,要求第1个三位数,正好是第2个三位数的两倍,是第3个三位数的三倍。用程序求解怎么分。
2. 输入两个字符串,要求将这两个字符串交叉连接。如串1为"ABCD",串2为"123456",则合并后的串为"A1B2C3D456"。 展开
2个回答
展开全部
这种类似作业的题目最好还是自己一题一题搞定吧,都很简单的。同时也用不到C++的知识。
1.(1)j == i
1.(2)k != j && k != i
2.(1)i=strlen(a); i>j; i--
2.(2)a[i] = a[i-1]
3.(1)m=n
3.(2)r
3.(3)return n
4.(1)x>0
4.(2)x<amin
5.(1)a+b
5.(2)a-b
5.(3)a-b
6.(1)double(3)/double(10*i+2)
6.(2)s
综合操作题1
#include <string.h>
#include <stdio.h>
int main(void)
{
int i, j, k, repeat;
char l;
char buf[10] = { 0 };
for (i = 999; i >= 123; i--) {
j = i/2;
k = i/3;
repeat = 0;
sprintf(buf, "%d%d%d", i, j, k);
for (l = '1'; l <= '9'; l++) {
if(strchr(buf, l))
repeat++;
}
if (repeat == 9) {
printf("%d %d %d\n", i, j, k);
break;
}
}
}
综合操作题2
#include <string.h>
#include <stdio.h>
int main(void)
{
char str1[BUFSIZ] = {0};
char str2[BUFSIZ] = {0};
char str[2*BUFSIZ];
int i, j;
printf("Please input string 1: ");
scanf("%s", str1);
printf("Please input string 2: ");
scanf("%s", str2);
printf("After cross merge: ");
for (i = 0, j = 0; str1[i] && str2[i]; i++) {
str[j++] = str1[i];
str[j++] = str2[i];
}
strcpy(str+j, !str1[i] ? str2+i : str1+i);
printf("%s\n", str);
}
1.(1)j == i
1.(2)k != j && k != i
2.(1)i=strlen(a); i>j; i--
2.(2)a[i] = a[i-1]
3.(1)m=n
3.(2)r
3.(3)return n
4.(1)x>0
4.(2)x<amin
5.(1)a+b
5.(2)a-b
5.(3)a-b
6.(1)double(3)/double(10*i+2)
6.(2)s
综合操作题1
#include <string.h>
#include <stdio.h>
int main(void)
{
int i, j, k, repeat;
char l;
char buf[10] = { 0 };
for (i = 999; i >= 123; i--) {
j = i/2;
k = i/3;
repeat = 0;
sprintf(buf, "%d%d%d", i, j, k);
for (l = '1'; l <= '9'; l++) {
if(strchr(buf, l))
repeat++;
}
if (repeat == 9) {
printf("%d %d %d\n", i, j, k);
break;
}
}
}
综合操作题2
#include <string.h>
#include <stdio.h>
int main(void)
{
char str1[BUFSIZ] = {0};
char str2[BUFSIZ] = {0};
char str[2*BUFSIZ];
int i, j;
printf("Please input string 1: ");
scanf("%s", str1);
printf("Please input string 2: ");
scanf("%s", str2);
printf("After cross merge: ");
for (i = 0, j = 0; str1[i] && str2[i]; i++) {
str[j++] = str1[i];
str[j++] = str2[i];
}
strcpy(str+j, !str1[i] ? str2+i : str1+i);
printf("%s\n", str);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询