大佬们 两道C语言编程题 求救 大一c语言编程题部分汇总
求救C语言高手,这两道程序该怎么编写啊
1.
//筛选法就是从1到100中依次剔除2,3,4,5,6,7……100(其实本质上是2,3,5,7)的倍数,剩下的就是素数了
//这个是用c++写的
#include<iostream>
using namespace std;
int main()
{
bool flag[100];
for(int i=0;i<=99;i++) flag[i]=false;
int a;
for(int i=2;i<=7;i++)
{
a=2*i;
while(a<=100)
{
flag[a-1]=true;
a+=i;
}
}
flag[0]=true;
for(int i=0;i<=99;i++) if(flag[i]==false) cout<<i+1<<' ';
return 0;
}
运行结果:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2.
//设最大公约数为max,最小公倍数为min,求max可以用辗转相减法(本质上跟辗转相除一样),min=m*n/max
//还是用c++
#include<iostream>
using namespace std;
int main()
{
int m,n,max,min;
cout<<"input two integers m,n:"<<endl;
cin>>m>>n;
min=m*n;
while(m*n!=0)
{
if(m>n) m-=n;
else n-=m;
}
max=(m==0)?n:m;
min/=max;
cout<<"max="<<max<<' '<<"min="<<min;
return 0;
}
运行后,例如:
input two integers m,n:
60 72
max=12 min=360
C语言求解,两道题,求大神们帮忙
1. #include 第一题:紧急 求助:两道C语言上机题~高分悬赏!!!回答正确继续加分!!!
三个空分别填:1、*s 2、s++ 3、n
程序代码如下:
#include <stdio.h>
int fun(char *s, char *t)
{ int n=0;
while(*s)
{ if(*s < 97) {
/**********found**********/
*(t+n)= *s; n++; }
/**********found**********/
s++ ;
}
*(t+n)=0;
/**********found**********/
return n ;
}
void main()
{ char s[81],t[81]; int n;
printf("\nEnter a string:\n"); gets(s);
n=fun(s,t);
printf("\nThere are %d letter which ASCII code is less than 97: %s\n",n,t);
}
运行结果截图:
第二题:主要修改了一句代码:xa += x[j]/n;
改为两句:xa +=x[j]; xa=xa/n;
同时,在修改一个符号,int j, c=0, double xa=0.0; c=0后面的逗号必须改为分号
修改之后为:int j, c=0; double xa=0.0;
int j, c=0, double xa=0.0;
修改之后的代码:
#include <stdio.h>
int fun(double x[], int n)
{
/************found************/
int j, c=0; double xa=0.0;
for (j=0;j<n;j++)
xa +=x[j];
xa=xa/n;
printf("ave =%f\n",xa);
for (j=0; j<n; j++ )
/************found************/
if (x[j]>=xa)
c++;
return c;
}
void main ( )
{ double x[10] = {193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763};
printf("%d\n", fun (x, 8));
}
运行结果截图:
c语言作业,五道题目,程序大佬们救救孩子吧,源代码谢谢
你好,我回答的请先不要采纳,我需要把5道题的全部上传,
如果你采纳了我就没有办法连续上传,谢谢~
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n; //定义两个变量
int t; //用于m和n交换时使用
int i = 0; //循环变量
int s = 0; //数据和
printf("请输入m和n的值:\n");
scanf("%d%d",&m,&n);
//判断m和n的大小,如果m>n,交换,如果m<n,继续执行程序
if(m > n)
{
t = m;
m = n;
n = t;
}
//在n-m个数中找出满足条件的数的和并输出
for(i=0; i<=(n-m); i++) ////这里要吧n-m算上所以是<=
{
if((i+m)%3 != 0 && (i+m)%7 != 0)
{
s += (i+m); //先把最小的数给s
}
}
printf("两个正整数[m,n]之间所有既不能被 3 整除也不能被 7 整除的整数之和是:\n");
printf("总和s=:%d",s);
return 0;
}