c语言乘法函数
用双重循环控制,代码如下:
#include <stdio.h>
void main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
printf("%d×%d=%d ",i,j,i*j);
}
printf("\n");
}
}
你可以运行一下,看看是不是你想要的结果。希望对你有用
㈡ C语言2个数相乘
两数相乘的C语言编程:
(2)c语言乘法函数扩展阅读:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
㈢ C语言大整数相乘
我用C语言写了一个,在VC2005下测试通过。
#include <stdio.h>
#include <string.h>
typedef unsigned char CHAR;
typedef unsigned int UINT;
/*十进制形式的a与b,注意低位在前高位在后*/
CHAR a[10000];/*被乘数*/
CHAR c[20000];/*乘积和乘数*/
UINT temp1,temp2;/*用来存放中间结果*/
UINT da, db; /*记录a和b的位数*/
/*清零*/
void Zero( CHAR* x, UINT n )
{
UINT i;
for ( i = 0; i < n; i ++ )
x[i] = '0';
}
CHAR CharToNum( CHAR c )
{
return c - 0x30;
}
CHAR NumToChar( CHAR c )
{
return c + 0x30;
}
/*这个函数模拟大整数的左移*/
void LShift( CHAR* x, int digits )
{
UINT i;
for ( i = 0; i < digits - 1; i ++ ) {
x[i] = x[i+1];
}
x[digits] = 0;
}
/*这个乘法函数计算大整数a与给定的y的乘积,乘积加入c右半部*/
void OneDigitMultiply( UINT y )
{
UINT i;
UINT cm = 0; /*乘法进位*/
UINT ca = 0; /*加法进位*/
if ( y != 0 ) {
for ( i = 0; i < da; i ++ ) {
/*乘*/
temp1 = ((UINT)a[i]) * y + cm;
cm = temp1 / 10;
temp1 %= 10;
/*加*/
temp2 = ((UINT)c[i+10000]) + temp1 + ca;
if ( temp2 > 9 ) {
ca = 1;
temp2 -= 10;
} else {
ca = 0;
}
c[i+10000] = temp2;
}
c[da+10000] += cm + ca;
}
else {
/*如果被乘数本位是0就直接返回*/
return;
}
}
/*这个函数用来输出*/
void OutputResult()
{
CHAR* p = c + 20000;
while( *p == 0 ) {
p --;
}
printf("乘积是:\n");
while( *p != 'x' ) {
printf("%d", *p);
p --;
}
}
void main()
{
Zero( a, 10000 );
Zero( c, 10000 );
printf("输入被乘数:");
scanf("%s",a);
printf("输入乘数:");
scanf("%s",c);
/*记录位数*/
da = strlen( (const char*)a );
db = strlen( (const char*)c );
/*反转以使低位在前*/
strrev( (char*)a );
strrev( (char*)c );
UINT i;
/*a与b存储的是char字符,减去0x30就能直接当数字使用了*/
for ( i = 0; i < 10000; i ++ ) {
if ( a[i] != '\0' ) {
a[i] = CharToNum( a[i] );
}
}
for ( i = 0; i < 20000; i ++ ) {
if ( c[i] != '\0' ) {
c[i] = CharToNum( c[i] );
}
}
/*这个乘法算法可以参看二进制乘法器的原理*/
for ( i = 0; i < db; i ++ ) {
OneDigitMultiply( c[0] );
LShift(c, 20000);
}
c[10000-db-1] = 'x'; /*给数字尾部作个标记*/
OutputResult();
getchar();
getchar();
}
第二题:
#include <stdio.h>
void main()
{
float a;
scanf("%f",&a);
if ( a - (int)a == 0 ) {
printf("是整数\n");
}
else {
printf("不是整数\n");
}
getchar();
getchar();
}
㈣ c语言 编制求两数相乘的函数
#include<stdio.h>//包含系统头文件要用<>,自定义头文件用""
floatmul(floatx,floaty);//函数声明
floatmul(floatx,floaty)//函数定义
{
returnx*y;
}
intmain()
{
floatx,y,z;
scanf("%f,%f",&x,&y);//这里要取地址,且你的输入必须是例如:20.0,30.0,如果20.030.0,则会结果是0.00,这是因为第二参数没有接收到输入
z=mul(x,y);
printf("Theresultis%.2f",z);//这里输出不能取地址,并且格式为含两位有效数字
return0;
}
㈤ 在C语言中,乘积的函数名是什么
在C语言中,没有标准库函数计算乘积。
我们可以自定义计算乘积的函数,函数名符合标识符命名规则即可。“乘积”的英文是“proct”,常用于乘法的标识符通常使用“Multi”这个单词。
C语言标识符命名规则:
标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
不能把C语言关键字作为用户标识符,例如if ,for, while等.
标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
标识符命名应做到“见名知意”,例如,长度(外语:length),求和、总计(外语:sum),圆周率(外语:pi)。
㈥ 如何用c语言函数调用编写九九乘法表
编写九九乘法表主要是通过循环语句进行控制输出乘法表中各项。将实现九九乘法表的程序液帆单独写成一个函数,就可以在主函数利用函数调用的形式来实现了。
具体实现方法可以参考如下程序:
#include<stdio.h>
void YangMultiplicationTable() // 实现九九乘法表的函数
{
int i=1,j=1;
for(i=1;i<=9;i++) // 控制行数,共闹租雹9行
for(j=1;j<=i;j++) // 控制列型州数,每列的列数与行号一致
{
printf("%d*%d=%d",j,i,i*j); // 输出九九乘法表的每一项
if(i!=j) printf("\t"); // 每行中相邻两项隔开
if(i==j) printf("\n"); // 每行输出完毕后进行换行
}
}
void main()
{
YangMultiplicationTable(); // 通过函数调用的方式实现九九乘法表
}
㈦ 求高手用C语言写个乘法的程序~
#include<stdio.h>
int i;
int n;
int aa[1000]; /*最多1000个数相乘,可以自己修改*/
int sum=1;
void main()
{
printf("请输入要求相乘数的个数:");
scanf("%d",&n);
printf("请输入要求相乘数的数字:");
printf("\n");
for(i=0;i<n;i++)
{
scanf("%d",&aa[i]);
sum=sum*aa[i];
}
printf("计算结果为%d:",sum);
printf("\n");
}
㈧ 用C语言的乘法函数的方法来计算数组的积
大数乘法基本上是乘法竖式笔算的代码化。
基本功能有3个
1.
大数的数组表示。
2.
大数乘以小数,得到大数。
3.
大数加大数,得到大数。
对于1,其实就是int数组的每个元素存储若干位。比如每个元素保存4个十进制位。[0]存储个十百千,[1]存储万、十万、百万、千万,诸如此类。一个数组保存一个大数。因此需要一个额外的int变量记录当前数组用了多少个元素(类似于字符串长度)。
对于2,“小数”指的是能用一个int保存的数。注意这里只限4个二进制位(和1里提到的位数一致)。
比如1
2345
6789这个数字,[0]保存6789,[1]保存2345,[2]保存1。长度3。