當前位置:首頁 » 編程語言 » 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語言學習順利