可小弟我才学了一点点C语言的知识
现有4道题不会做 请各位大虾帮我做一下 急需答案啊!!!
谢谢了~~
1.去掉数组中所有的奇数(数组中的数据用随机函数生成),将代码以cfile.cpp为名保存在c:\454220~2\5812iti目录中
2.去掉一个英文句子中所有多余的空格(单词之间只能有1个空格)
将代码以cfilc.cpp为名保存C:/454220~1\59\ziti目录中。
3.求两个正整数的最小公倍数,将代码以cfile.cpp为名保存在c:\45422~2\58\ziti目录中
4.打印有字符A、B、C、D组成的所有全排列,将代码以cfile.cpp为名保存在c:\454220~2\59\ziti目录中。
11 个解决方案
#1
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
for(j=i+1;j<len;j++)
a[j]=a[j+1];
}
第二题,没有调试
LZ验证一下
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
for(j=i+1;j<len;j++)
a[j]=a[j+1];
}
第二题,没有调试
LZ验证一下
#2
//最后一题
#include< iostream >
using namespace std;
void Swap( char &a, char &b )
{
char temp = a;
a = b;
b = temp;
}
void fac(int m, int n, char shaguo[])
{
int i = 0;
if(m == n)
{
cout<<shaguo<<endl;
}
else
{
for( i = m; i <= n; i++ )
{
Swap( shaguo[m], shaguo[i]);
fac(m+1 , n , shaguo);
Swap(shaguo[m], shaguo[i]);
}
}
}
void main()
{
char shaguo[] = {'A','B','C','D'};
shaguo[4] = '\0';
fac(0,3,shaguo);
}
#include< iostream >
using namespace std;
void Swap( char &a, char &b )
{
char temp = a;
a = b;
b = temp;
}
void fac(int m, int n, char shaguo[])
{
int i = 0;
if(m == n)
{
cout<<shaguo<<endl;
}
else
{
for( i = m; i <= n; i++ )
{
Swap( shaguo[m], shaguo[i]);
fac(m+1 , n , shaguo);
Swap(shaguo[m], shaguo[i]);
}
}
}
void main()
{
char shaguo[] = {'A','B','C','D'};
shaguo[4] = '\0';
fac(0,3,shaguo);
}
#3
#include "stdio.h"
#include "math.h"
main()
{
int m,n,r,b,t,m1,n1;
scanf("%d",&m);
scanf("%d",&n);
m1= m;
n1 = n;
if(m<n)
{
m=m^n;
n=m^n;
m=m^n;
}
while (n != 0) {
r = m%n;
m = n;
n = r;
}
printf("%d",m);
printf("\n%d",m1*n1/m);
}
最大公约,和最小公倍
#include "math.h"
main()
{
int m,n,r,b,t,m1,n1;
scanf("%d",&m);
scanf("%d",&n);
m1= m;
n1 = n;
if(m<n)
{
m=m^n;
n=m^n;
m=m^n;
}
while (n != 0) {
r = m%n;
m = n;
n = r;
}
printf("%d",m);
printf("\n%d",m1*n1/m);
}
最大公约,和最小公倍
#4
2楼的错了。不能连续去掉多个空格
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
{
for(j=i+1;j<len;j++)
a[j]=a[j+1];
i--;//这里需要把i减一下,目的是这种情况i不移动
}
}
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
{
for(j=i+1;j<len;j++)
a[j]=a[j+1];
i--;//这里需要把i减一下,目的是这种情况i不移动
}
}
#5
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
main()
{
int i, len, j;
int a[10];
srand(time(0));
for(i = 0; i < 5; i++) {
a[i] = rand()%100;
printf("%d\n",a[i]);
}
len = 5;
printf("--------------");
for(i = 0;i<5;i++)
{
if (a[i]%2 != 0)
{
for(j=i;j<len;j++)
{
a[j]=a[j+1];
}
i--;
len--;
}
}
for(i = 0;i<len;i++)
printf("%d\n",a[i]);
}
第一题。比较粗糙
#include <time.h>
#include <stdio.h>
#include <string.h>
main()
{
int i, len, j;
int a[10];
srand(time(0));
for(i = 0; i < 5; i++) {
a[i] = rand()%100;
printf("%d\n",a[i]);
}
len = 5;
printf("--------------");
for(i = 0;i<5;i++)
{
if (a[i]%2 != 0)
{
for(j=i;j<len;j++)
{
a[j]=a[j+1];
}
i--;
len--;
}
}
for(i = 0;i<len;i++)
printf("%d\n",a[i]);
}
第一题。比较粗糙
#6
你在害他
#7
谢谢你们的回复~~哎~~只怪我以前C语言没学好`~
要不然~`也不会麻烦各位大虾了~~
要不然~`也不会麻烦各位大虾了~~
#8
这是我做的第1题 不知道对不对``
main()
{
int i,x[100],j=0;
for(i=0;i<100;i++) x[i]=rand();
for(i=0;i<100;i++)
{
if(x[i]%2==0)
{
x[j]=x[i];
j++;
}
x[i]=0;
}
}
main()
{
int i,x[100],j=0;
for(i=0;i<100;i++) x[i]=rand();
for(i=0;i<100;i++)
{
if(x[i]%2==0)
{
x[j]=x[i];
j++;
}
x[i]=0;
}
}
#9
有哪位大虾 帮我做出第3题啊`~我现在就差第3题 没有搞定了`~
我先谢谢了`~~
我先谢谢了`~~
#10
我上面回帖里面有第3题。- -
#11
先用高效算法算出最大公约数,然后两数相乘再除上最大公约数得到最小公倍数。
lzp229(只想飞)(卡卡)已经给出程序了。
lzp229(只想飞)(卡卡)已经给出程序了。
#1
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
for(j=i+1;j<len;j++)
a[j]=a[j+1];
}
第二题,没有调试
LZ验证一下
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
for(j=i+1;j<len;j++)
a[j]=a[j+1];
}
第二题,没有调试
LZ验证一下
#2
//最后一题
#include< iostream >
using namespace std;
void Swap( char &a, char &b )
{
char temp = a;
a = b;
b = temp;
}
void fac(int m, int n, char shaguo[])
{
int i = 0;
if(m == n)
{
cout<<shaguo<<endl;
}
else
{
for( i = m; i <= n; i++ )
{
Swap( shaguo[m], shaguo[i]);
fac(m+1 , n , shaguo);
Swap(shaguo[m], shaguo[i]);
}
}
}
void main()
{
char shaguo[] = {'A','B','C','D'};
shaguo[4] = '\0';
fac(0,3,shaguo);
}
#include< iostream >
using namespace std;
void Swap( char &a, char &b )
{
char temp = a;
a = b;
b = temp;
}
void fac(int m, int n, char shaguo[])
{
int i = 0;
if(m == n)
{
cout<<shaguo<<endl;
}
else
{
for( i = m; i <= n; i++ )
{
Swap( shaguo[m], shaguo[i]);
fac(m+1 , n , shaguo);
Swap(shaguo[m], shaguo[i]);
}
}
}
void main()
{
char shaguo[] = {'A','B','C','D'};
shaguo[4] = '\0';
fac(0,3,shaguo);
}
#3
#include "stdio.h"
#include "math.h"
main()
{
int m,n,r,b,t,m1,n1;
scanf("%d",&m);
scanf("%d",&n);
m1= m;
n1 = n;
if(m<n)
{
m=m^n;
n=m^n;
m=m^n;
}
while (n != 0) {
r = m%n;
m = n;
n = r;
}
printf("%d",m);
printf("\n%d",m1*n1/m);
}
最大公约,和最小公倍
#include "math.h"
main()
{
int m,n,r,b,t,m1,n1;
scanf("%d",&m);
scanf("%d",&n);
m1= m;
n1 = n;
if(m<n)
{
m=m^n;
n=m^n;
m=m^n;
}
while (n != 0) {
r = m%n;
m = n;
n = r;
}
printf("%d",m);
printf("\n%d",m1*n1/m);
}
最大公约,和最小公倍
#4
2楼的错了。不能连续去掉多个空格
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
{
for(j=i+1;j<len;j++)
a[j]=a[j+1];
i--;//这里需要把i减一下,目的是这种情况i不移动
}
}
void move(char* a)
{
int len=strlen(a);
int i=0,j;
for(;i<len;i++)
{
if(a[i]==' '&&a[i+1]==' ')
{
for(j=i+1;j<len;j++)
a[j]=a[j+1];
i--;//这里需要把i减一下,目的是这种情况i不移动
}
}
#5
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
main()
{
int i, len, j;
int a[10];
srand(time(0));
for(i = 0; i < 5; i++) {
a[i] = rand()%100;
printf("%d\n",a[i]);
}
len = 5;
printf("--------------");
for(i = 0;i<5;i++)
{
if (a[i]%2 != 0)
{
for(j=i;j<len;j++)
{
a[j]=a[j+1];
}
i--;
len--;
}
}
for(i = 0;i<len;i++)
printf("%d\n",a[i]);
}
第一题。比较粗糙
#include <time.h>
#include <stdio.h>
#include <string.h>
main()
{
int i, len, j;
int a[10];
srand(time(0));
for(i = 0; i < 5; i++) {
a[i] = rand()%100;
printf("%d\n",a[i]);
}
len = 5;
printf("--------------");
for(i = 0;i<5;i++)
{
if (a[i]%2 != 0)
{
for(j=i;j<len;j++)
{
a[j]=a[j+1];
}
i--;
len--;
}
}
for(i = 0;i<len;i++)
printf("%d\n",a[i]);
}
第一题。比较粗糙
#6
你在害他
#7
谢谢你们的回复~~哎~~只怪我以前C语言没学好`~
要不然~`也不会麻烦各位大虾了~~
要不然~`也不会麻烦各位大虾了~~
#8
这是我做的第1题 不知道对不对``
main()
{
int i,x[100],j=0;
for(i=0;i<100;i++) x[i]=rand();
for(i=0;i<100;i++)
{
if(x[i]%2==0)
{
x[j]=x[i];
j++;
}
x[i]=0;
}
}
main()
{
int i,x[100],j=0;
for(i=0;i<100;i++) x[i]=rand();
for(i=0;i<100;i++)
{
if(x[i]%2==0)
{
x[j]=x[i];
j++;
}
x[i]=0;
}
}
#9
有哪位大虾 帮我做出第3题啊`~我现在就差第3题 没有搞定了`~
我先谢谢了`~~
我先谢谢了`~~
#10
我上面回帖里面有第3题。- -
#11
先用高效算法算出最大公约数,然后两数相乘再除上最大公约数得到最小公倍数。
lzp229(只想飞)(卡卡)已经给出程序了。
lzp229(只想飞)(卡卡)已经给出程序了。