思路:double类型的范围: -1710(-308)~1710(308),如果两个数的乘积不超过这样的精度,可以直接使用符号进行运算。
参考代码:
#include<stdioh>int main()
{
double a,b;
scanf("%lf%lf",&a,&b);
printf("%2lf",ab); //保留两位小数
return 0;
}
/
运行结果:
1205 5985
721192500
/
不需要列素数表,整除一定是素数,如果是合数早就被前面的素数整除掉了
Program fenjie;
var
x,i,x2,counter:integer;
begin
write(x,'=');
x2:=x;
counter:=0;
i:=2;
repeat
if x2 div i then
begin
inc(counter);
x2:=x2 div i;
if counter>1 then
write('');
write(i)
end
else
inc(i)
until x2=1;
readln
end
看看
main()
{
int i,n;
scanf("%d",&n);
for(i=1;i<=10;i++)
{
printf("%d\t", in);
if (i%2==1) printf("\n");
}
return 0;
}
可以先插入两个文本框控件用来放要输入的两个乘数,插入一个标签控件来放得出的积,界面可以自己设计,代码如下
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(Text1Text) <= 2 Then
Text2SetFocus
Else
Text1Text = ""
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Label1Caption = "=" & Str(Val(Text1Text) Val(Text2Text))
End If
End Sub
第一个文本框加了一个数位识别,如果要有新的变化,可以自己探索一下。
1
//10以内所有自然数相乘
package javaapplication1;
public class Multiply {
public static void main(String[] args ){
int i,j;
for(i=1;i<10;i++)
{for(j=1;j<=i;j++)
{ Systemoutprintf("%d%d=%-4d",i,j,ij);
}Systemoutprintf("\n");
}
}
}
2
//100以内所有自然数
package javaapplication1;
public class Naturalnumber {
public static void main(String[] args ){
int i,k=0;
for(i=0;i<100;i++)
{
k++;
Systemoutprintf("%-4d",i);
if(k%10==0) //控制每行输出10个自然数
Systemoutprintf("\n");
}
}
}
n项连乘取对数的结果通常称为对数积(log product)。
对数积的定义是:如果有一个数字序列(a1, a2, …, an),则对数积的值为:
log(a1 a2 … an) = log(a1) + log(a2) + … + log(an)
也可以使用下列等式表示对数积:
log(a1 a2 … an) = log(a1) + log(a2) + … + log(an)
例如,如果有一个数字序列(2, 3, 5, 7),则对数积的值为:
log(2 3 5 7) = log(2) + log(3) + log(5) + log(7)
#include<stdioh>
int main()
{int n,i;
scanf("%d",&n);
printf("%d=",n);
for(i=2;n>1;i++)
{for(;n%i==0;)
{printf("%d",i);
n/=i;
if(n>1)printf("");
}
}
printf("\n");
return 0;
}
可以调用 matrix2() 或 matrix() 做矩阵相乘。
下面主函数 以 调用 matrix() 为例,介绍过程:
输入参数,动态分配数组,输入矩阵数据,调用,输出,释放内存。
#include<iostream>
using namespace std;
#include<stdioh>
/---------------------
c[j]][i] = a[j][k] b[k][i] = c[j][i]
a[ny][nk]
b[nk][nx]
c[ny][nx]
---------------------/
void matrix2(int a,int b, int c, int nx, int ny, int nk)
{
int i,j,k;
for(j=0;j<ny;j++){
for(i=0;i<nx;i++){
c[jnx+i]=0;
for(k=0;k<nk;k++)c[jnx+i]+= a[jnk+k] b[knx+i];
};
};
}
/---------------------
b[j][k] c[k][i] = a[j][i]
---------------------/
void matrix(int b,int c, int a, int nx, int ny, int nk)
{
int i,j,k;
for (j=0;j<ny;j++)for(i=0;i<nx;i++)a[j][i]= 0;
for(j=0;j<ny;j++){
for(i=0;i<nx;i++){
for(k=0;k<nk;k++)a[j][i]+= b[j][k]c[k][i];
};
};
}
int main()
{
int i,j,k,tmp;
int b_row,b_col;
int c_row,c_col;
int a_row,a_col;
int b,c,a;
printf("please enter b_row b_col of matrix B\n");
scanf("%d %d",&b_row,&b_col);
c_row = b_col;
printf("please enter c_col of matrix C\n");
scanf("%d",&c_col);
a_row = b_row;
a_col = c_col;
a = (int ) malloc(sizeof(int ) a_row);
for (j=0;j<a_row;j++){
a[j] = (int ) malloc(sizeof(int) a_col);
}
b = (int ) malloc(sizeof(int ) b_row);
for (j=0;j<b_row;j++){
b[j] = (int ) malloc(sizeof(int) b_col);
}
c = (int ) malloc(sizeof(int ) c_row);
for (j=0;j<c_row;j++){
c[j] = (int ) malloc(sizeof(int) c_col);
}
if (!c[c_row-1]) {
printf("no enought memory\n");exit(0);
}
printf("Please input int matrix b[%d][%d]\n",b_row,b_col);
for (j=0;j<b_row;j++)
for (i=0;i<b_col;i++){
scanf("%d",&tmp);
b[j][i] = tmp;
}
printf("Please input int matrix c[%d][%d]\n",c_row,c_col);
for (j=0;j<c_row;j++)
for (i=0;i<c_col;i++){
scanf("%d",&tmp);
c[j][i] = tmp;
}
matrix( b ,c,a, a_col, a_row, b_col);
for(j=0;j<a_row;j++)
{
for (i=0;i<a_col;i++) printf("%d ",a[j][i]);
printf("\n");
};
for (i=0;i<a_row;i++) free((void )a[i]); free((void )a);
for (i=0;i<b_row;i++) free((void )b[i]); free((void )b);
for (i=0;i<c_row;i++) free((void )c[i]); free((void )c);
return 0;
}
数据和结果例子:
please enter b_row b_col of matrix B
3 2
please enter c_col of matrix C
3
Please input int matrix b[3][2]
1 2 3 4 5 6
Please input int matrix c[2][3]
1 2 3 4 5 6
9 12 15
19 26 33
29 40 51
以上就是关于C语言中求两数相乘的程序全部的内容,包括:C语言中求两数相乘的程序、素数连乘、c语言编写一个程序,要求输入一个数,输出该数分别与1~10相乘的结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)