当前位置:首页 » 编程语言 » fgm1m2r2C语言程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

fgm1m2r2C语言程序

发布时间: 2023-01-09 04:04:20

c语言编程 急 急 急!! 好的加分~

如上图片了,我求的是3到150,你用m1和m2代入就可以了

㈡ 用c语言编写一个程序

怎么不能?这个程序以数字形式输出星期几,输入数字的格式是年月日之间用空间或者回车分隔(不要尝试其它分隔符)。你修改后的程序还有问题:第一是你算闰年的算法是错误的!第二是最后的if(i==0)你错写成了if(i=0),第三是没有将原程序的所有语法、逻辑错误改正,关于修改方法请参考以下程序!

//---------------------------------------------------------------------------
#include <stdio.h>
void main()
{
int c,y,m,m1,m2,d,d2,i; /*注意这里,去掉i后面的逗号*/
printf("请输入年份,月份,日期:");
scanf("%d%d%d",&y,&m,&d);
c=0;
for (i = 1900; i<y; i++) { /*判断闰年,原来的方法有误*/
if (i%4==0&&i%100||i%400==0) c+=366;
else c+=365;
}
if (y%4==0&&y%100||y%400==0) i=1; /*判断是不是闰年,如果是闰年就要在三月之后多加1天*/
else i=0;
switch (m) /*注意这里的整个switch语句,每个case后面不用等号,而要用空格,而且每个case后面的执行语句部分要用break;结束*/
{case 1:
m=0;break;
case 2:
m=31; break;
case 3:
m=59+i;
break;
case 4:
m=90+i; break;
case 5:
m=120+i; break;
case 6:
m=151+i; break;
case 7:
m=181+i; break;
case 8:
m=212+i; break;
case 9:
m=243+i; break;
case 10:
m=273+i; break;
case 11:
m=304+i; break;
case 12:
m=334+i;
}
c+=m+d; /*注意这里*/
i=c%7 ;
printf("%d",i); /*注意这里,周日则输出0*/

}
//---------------------------------------------------------------------------

㈢ c语言数字处理程序

你的意思是将x的最大数字和y的最大数字对齐,然后再将对齐后的x1,y1相加对吧。
用一个数组来循环遍历就行了。string[] x,string[] y

㈣ 求最长公共子序列的C语言程序

得到字符串m1,m2后,有一个为空则子列为空。

如果都不为空,开始下面的步骤。

求得两列的长度分别为n1,n2。

动态生n2行n1列矩阵(二维数组)。

取m2中每个元素(记位置为i)与m1中元素(记位置为j)逐个比较,如果相等则为矩阵中相应行列坐标的元素赋值为1,否则为0(可用循环嵌套完成)。

比如m1(abc0cbad)m2(cba1abc)两串的话,可以得到如图所示矩阵。

然后,不难看出,要进行如下步骤。

定义max,用来记录最大子列中元素个数。

定义数组l[n2],用来记录最大子列的首字符地址(因为可能有不同最大子列,故用数组,而不是单个变量)。

判断矩阵中每一个元素,是否为1,如果是则记下此时行地址到l数组,然后判断相对于这个元素的下一行下一列的元素是否为1,如果是则继续判断,一直到为0。记下此次判断(即一个while循环)中“1”的个数n,存入变量max。

对于矩阵中的每一个元素都这么判断,如果判断中n的值大于max那么把n付给max,同时把这个子列的首地址付给l[0],l[0]后面的元素全赋值为-1。如果,某次判断得到的n与max相同,即有相同最大子列,那么把它的首地址存入l数组的下一个位置。

当这个矩阵的每一个元素都判断完毕后,会得到max,和数组l,然后用循环做如下输出过程:依次以l数组中的每个元素为首地址,输出m2字符串中以相应序号开头的max个字符,那么完成所有最大子列的输出。

昨天失眠了,一直到今天凌晨3点多,脑袋浑浑噩噩的,本想帮你敲代码,可是脑力不支了,估计敲出来也乱,还有问题的话,再讨论452032545

㈤ C语言程序注释

#include<stdio.h> //标准输入输出库所在的头文件
//自定义函数声明
void add(int *m,int *m1,int *m2,int r,int c); //矩阵加法
void sub(int *m,int *m1,int *m2,int r,int c); //矩阵减法
void mult(int *m,int *m1,int *m2,int r,int p,int c); //矩阵乘法
void disp(int *m,int r,int c); //打印数组数据(矩阵里的数据)
//主测试函数
void main()
{
int a[3][4]={{4,3,5,2},{5,1,7,3},{2,7,6,2}};
int b[3][4]={{2,4,4,-7},{4,2,5,-8},{7,-3,-4,2}};
int c[4][3]={{5,4,4},{1,3,1},{4,4,2},{7,1,3}};
int d[3][4]={0};
int e[3][4]={0};
int f[3][3]={0};
printf("\nA(3x4):\n");
disp(a[0],3,4); //显示矩阵a
printf("\nB(3x4):\n");
disp(b[0],3,4); //显示矩阵b
add(d[0],a[0],b[0],3,4); // 计算矩阵 a + b,并将结果存到d中
printf("\nD(3x4)=A+B:\n");
disp(d[0],3,4); //显示a+b的结果(即d中的数据)
sub(e[0],a[0],b[0],3,4);// 计算矩阵 a - b,并将结果存到e中
printf("\nE(3x4)=A-B:\n");
disp(e[0],3,4);//显示a-b的结果(即e中的数据)
printf("\nA(3x4):\n");
disp(a[0],3,4); // 显示矩阵a
printf("\nC(4x3):\n");
disp(c[0],4,3); //显示矩阵c
mult(f[0],a[0],c[0],3,4,3); //计算矩阵a*c 并将结果存到f中
printf("\nF(3x3)=A*C:\n");
disp(f[0],3,3); //显示a*c的结果(即f中的数据)
}
//函数定义
/*
*****函数功能:两个矩阵进行加法运算 C = A+B
*****参数: m 指向运算结果存放的二维数组(即矩阵) C的首地址
***** m1为矩形A的首地址,m2为矩形B的首地址
***** r 为矩阵的行数, c为矩阵的列数
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);这个表示将矩阵A的第i行j列的数据 与 矩阵B的第i行j列的数据 相加
然后将结果赋值给矩阵C的第i行j列数据
*(m1+i*c+j) :m1+i*c+j 这个表示指向矩阵A的第i行第j列的数据的指针,则 *(m1+i*c+j) 就表示矩阵A的第i行第j列的数据
*(m2+i*c+j) :m2+i*c+j 这个表示指向矩阵B的第i行第j列的数据的指针,则 *(m2+i*c+j) 就表示矩阵B的第i行第j列的数据
*(m+i*c+j) : m+i*c+j 这个表示指向矩阵C的第i行第j列的数据的指针,则 *(m+i*c+j) 就表示矩阵C的第i行第j列的数据
这里是用指针实现的,
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
等价于
c[i][j] = a[i][j] + b[i][j];
*/
void add(int *m,int *m1,int *m2,int r,int c) //
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
}
//注释与上边加法类似
void sub(int *m,int *m1,int *m2,int r,int c) //两个矩阵之间的减法运算
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) - *(m2+i*c+j);
}
/*注释与上边类似,因为矩阵乘法运算公式较为复杂一些,可自行对照矩阵乘法运算公式
如矩阵c = a * b
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j); //表示将m1的第i行k列的数据 与 m2的第k行j列的数据相乘 ,
//并将p (k的值从0到p) 次结果进行累加
*(m+i*c+j)=t; //最后将这个累加的结果赋值给矩阵c的第i行第j列的数据
*/
void mult(int *m,int *m1,int *m2,int r,int p,int c)//两个矩阵之间的乘法运算
{
int i,j,k,t;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
{
t=0;
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j);
*(m+i*c+j)=t;
}
}
//显示打印矩阵中的数据
void disp(int *m,int r,int c)
{
int i,j;
for(i=0; i<r; i++)
{
for(j=0; j<c; j++)
printf("%6d",*(m+i*c+j));
printf("\n");
}
}

㈥ C语言!!!!求两个质量分别为m1,m2,距离为r的物体间的万有引力,输出计算结果

# include <stdio.h>
# include <math.h>
main()
{
double F,m1,m2,r,g;
g=6.67*10E-11;
printf("请输入两个质量m1,m2和r:\n");
scanf("%d,%d,%d",&m1,&m2,&r);
F=(g*m1*m2)/(r*r);
printf("万有引力:%lf\n",F); //double类型对应为%lf
}

㈦ 请问F=G*m1*m2/(r*r)用C语言怎么编程,谢谢

你的式子是万有引力吧?
#defind G 6.6699
main()
{
double f,m1,m2,r;
printf("请输入两物体的质量:\n");
scanf("%lf %lf",&m1,&m2);
printf("\n请输入两物体间的距离:\n");
scanf("%lf",&r);
f=G*m1*m2/(r*r);
printf("\n两物体间的万有引力为:%lf\n",f);
}

㈧ 求下列C语言代码

1.试分别用最紧凑的一条C代码描述完成下列要求的计算。
1)把整型变量i和j的和赋给整型变量k,并同时让i的值增加1
k = (i++) + j;
2)把整型变量x的值扩大一倍
x *= 2;
3)在变量i减去1后,将变量j减去变量i
j - (--i);
4)计算变量i除变量j的余数r
r = j % i;
5)将实型变量x精确到小数点后第三位四舍五入后的值赋给实行变量y。
y = ((unsigned long)((x + 0.0005)*1000))/1000.0f;

2.试用C语言表达试描述以下数学计算式或逻辑条件。
1)V=(4/3)πr*r*r
#define PI 3.141593f
V = 4.0 / 3 * PI * r * r;
2)R=1/(1/R1+1/R2)
R = 1 / (1/R1 + 1/R2);
3)y=x^5+x^3+6
#include <math.h>
y = pow(x,5) + pow(x,3) + 6;
4)F=GM1M2/R2
#define G xxxxx /* xxxxx 代表相应量纲下的重力加速度值 */
F = G * M1 * M2 / (R * R)
5)sin(x)/x+│cos(πx/2)│
#include <math.h>
#define PI 3.141593f
sin(x)/x + fabs(cos(PI*x/2));
6)0<a<10
if (a > 0 && a < 10) {
}
7)条件x=1与y=2有且只有一个成立
if ((x==1) ^ (y==2)) {
}
3.整型变量a的值是4,求以下表达式a,b,c的值
1)b=a*a++
2)c=++a+a
a,b,c的值分别为6, 16, 11;

4.编写输入2个整数,输出这2个整数的和、差、积、商和余数的程序
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a = 0, b = 0;
if (argc != 3) {
printf("使用方法:\n%s a b\n将会输出a和b的和、差、积、商、余数\n", argv[0]);
return -1;
}
sscanf(argv[1], "%d", &a);
sscanf(argv[2], "%d", &b);
printf("a = %d, b = %d\n", a, b);
printf("和:%d + %d = %d\n", a, b, a + b);
printf("差:%d - %d = %d\n", a, b, a - b);
printf("积:%d x %d = %d\n", a, b, a * b);
if ( b == 0) {
printf("商:除数不能为0,忽略求商运算\n");
printf("余:除数不能为0,忽略求余运算\n");
} else {
printf("商:%d / %d = %d\n", a, b, a / b);
printf("余:%d % %d = %d\n", a, b, a % b);
}
return 0;
}

5.编写输入三个整数,输出这三个数的和、平均值、最小值、最大值的程序
#include <stdio.h>
#include <stdlib.h>
#define MYMAX(x,y) ((x) > (y) ? (x) : (y))
#define MYMIN(x,y) ((x) < (y) ? (x) : (y))

int main(int argc, char *argv[])
{
int a = 0, b = 0, c = 0;
if (argc != 4) {
printf("使用方法:\n%s a b c\n将会输出a,b,c的和,最大值,最小值和平均值\n", argv[0]);
return -1;
}
sscanf(argv[1], "%d", &a);
sscanf(argv[2], "%d", &b);
sscanf(argv[3], "%d", &c);
printf("a = %d, b = %d, c = %d\n", a, b, c);
printf("和:a + b + c = %d\n", a + b + c);
printf("平均值: %d\n", (a + b + c)/3);
printf("最大值: %d\n", MYMAX(a, MYMAX(b,c)));
printf("最小值: %d\n", MYMIN(a, MYMIN(b,c)));
return 0;
}

6.编写输入2个整数,输出他们之间的关系:小于、大于、等于、不等于、整除等。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a = 0, b = 0;
if (argc != 3) {
printf("使用方法:\n%s a b\n将会输出a和b大小及整出关系等\n", argv[0]);
return -1;
}
sscanf(argv[1], "%d", &a);
sscanf(argv[2], "%d", &b);
printf("a = %d, b = %d\n", a, b);
if (a > b) {
printf("a 大于 b\n");
} else if (a < b) {
printf("a 小于 b\n");
} else {
printf("a 等于 b\n");
}
if (b != 0 && !(a % b)) {
printf("a 可以被 b整除\n");
}
if (a != 0 && !(b % a)) {
printf("b 可以被 a整除\n");
}
return 0;
}

㈨ 求这个c语言程序

#include<stdio.h>
void main()
{
float a=1,b=2,c=0,d;
int i,j;
printf("PLEASE INPUT THE NUMBER OF NUM:\n");
scanf("%d",&i);
for(j=1;j<=i;j++)
{
c+=b/a;
d=a;
a=b;
b=d+b;
}
printf("THE RESULT IS %f\n",c);
getch();
}
这个可能是你想要的,你看看吧,注释的话就不用我加了吧,自己琢磨下吧,呵呵,这种东西自己想想才能够熟练,自己才能真正掌握,祝你C语言学习顺利