数的计算编程
A. 数的计算(c/c++编程)
#include<stdio.h> int check(int num) { int n=1; int i; if(num==1) { return 1; } for(i=1;i<=num/2;i++) { n =n + check(i); } return n; } void main() { int num,result=0; while(2) { printf("Please Input a natural number less than 1001: "); scanf("%d",&num); result=check(num); printf("%d\n",result); } } //6 : 6 16 26 126 36 136 //7 : 7 17 27 127 37 137 //8 : 8 18 28 128 38 138 48 148 248 1248 //调试通过...答案正确... 只算个数 没有一一列出... 不懂得话可以问我... 这种算法对大数来说 效率比较低... 如果有时间可以帮你想好点的算法...
B. c语言编程 输入一个整数计算并输出该数的平方
方法1:
#include<stdio.h>
int square(int m)
{
return m*m;
}
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=square(a);
printf("%d*%d=%d\n",a,a,result);
}
方法2:
#include<stdio.h>
#include<math.h>
main(void)
{
int a,result;
printf("please input:\n");
scanf("%d",&a);
result=(int)pow(a,2);
printf("%d*%d=%d\n",a,a,result);
}
希望可以帮到你,如果满意请采纳!
C. 求救:编程计算一整数各位数之和.(C语言)
and指的是结果,for循环的意思是每次都测试num除以10是否为零。在C语言中,整除除以整数的结果是截断的,也就是说只取整数部分。举个例子5/3=2.666,取整就是2.num%i的意思是取num除以i的余数,也就是num的个位数,num=num/i的意思是把num除以10,相当于去掉num的个位数。例如1234除以10,得123.4,由于结果只取整数部分,所以得123。以此类推就能得到一个数所有位数之和了。
你的程序还有点小问题,就是for循环里的num/i!=0,如果写成这样,就会少计算一位,导致结果不正确。
应该改为for(i=10;num!=0;)
D. 如何编程对数值很大、精度很高的数进行计算
我提供一种算法:
先将数R扩大10的m次方倍,使之恰好为整数,然后参照以下算法的计算方法(计算5的2003次方)
#include<stdio.h>
#include<string.h>
void main()
{
char ret[2003];
int i, j, temp,
crray = 0;/*进位*/
/*ret初始化*/
memset( ret, '\0', sizeof(char) * 2003 );
/*乘5,做2003次*/
for( i = 1; i <= 2003; i++ )
{
if( i == 1 )
{
/*首次的字符串的赋值*/
ret[0] = '5';
}
else
{
for( j = 0; ; j++ )
{
/*如果有进位,但是该位为空则把该位置成字符0*/
ret[j] = ret[j] == '\0' ? '0' : ret[j];
/*乘5的操作*/
temp = ( ret[j] - '0' ) * 5;
ret[j] = ( ( temp % 10 ) + crray ) + '0';
/*记录进位*/
crray = temp / 10;
if( ret[j + 1] == '\0' && crray == 0 )
{
break;
}/*end of if*/
}/*end of for*/
}/*end of else*/
}/*end of for*/
/*字符串逆置*/
strrev( ret );
printf( "%s\n", ret );
getch();
}
最后再加小数点,既缩小10的m*n次方倍。
E. C语言编程实现两个整数的算数运算
#include<iostream.h>
#include<stdio.h>
int main()
{ int a,b;
char ch,pm='Y';
while(pm!='N')
{
cout<<"请输入第一个数:"<<endl;
cin>>a;
cout<<"请输入运算符号:"<<endl;
cin>>ch;
cout<<"请输入第二个数:"<<endl;
cin>>b;
if(ch=='+')
cout<<a+b<<endl;
else if(ch=='-')
cout<<a-b<<endl;
else if(ch=='*')
cout<<a*b<<endl;
else if(ch=='/')
cout<<a/b<<endl;
cout<<"结束输入N,继续输入任意键!"<<endl;
pm=getchar();
}
return 1;}
要c++的行吗?还要换成c吗?
F. 简单C语言编程:计算100到1000之间有多少个数,其各位数之和是5
从100到1000之间都是三位数。所以,取通过除法和取余操作,取出个位十位百位上的数值,并加和判断是否与5相等,即可完成题目中要求的条件。于是流程为:1对100到1000数值进行遍历。2对每个数进行判断,如果符合则计数器自加。3输出结果。代码如下:#include int main(){ int i,r=0; for(i = 100; i < 1000; i ++) { if(i/100+i%10+i/10%10 == 5) r ++; } printf("%d\n",r);}G. C语言函数编程实现计算10个数的最大值,要求如下:
#include<stdio.h>
#include<conio.h>
voidarray_input(intarray[],intn);
intmax(intarray[],intn);
intmain(void){
intarray[10];
printf("请输入10个数据:");
array_input(array,10);
printf("10个元素最大值:%d ",max(array,10));
getch();/*屏幕暂留*/
return0;
}
/*输入数组*/
voidarray_input(intarray[],intn){
inti;
for(i=0;i<n;i++)
scanf("%d",&array[i]);
putchar(' ');
}
/*计算数组最大值*/
intmax(intarray[],intn){
inti;
intmax=array[0];
for(i=0;i<n;i++){
if(array[i]>max)
max=array[i];
}
returnmax;
}

H. 简单pascal编程 数的计算 杨辉三角形
第一题:
program count;
const
filename='count';
var
n:integer;
total:longint;
s:string;
procere count_number(x:integer;y:string);
var
i:integer;
s1,s2:string;
begin
for i:=1 to x div 2 do
begin
s1:=y;
str(i,s2);
inc(total);
count_number(i,s1);
end;
end;
begin
assign(input,filename+'.in');
assign(output,filename+'.out');
reset(input);
rewrite(output);
readln(n);
str(n,s);
total:=1;
count_number(n,s);
writeln(total);
close(input);
close(output);
end.
就是通过递归,不断构造数串并同时统计个数
第二题:不知道有没有样例,你把题目精简过头了,看不懂!
I. C语言编程:输入两个整数后计算并输出乘积
/*源程序如下:*/
#include
int
main()
{
int
x,y,z;/*定义三个数,x,y是输入的两个整数,z是用来交换的*/
scanf("%d,%d",
&x,&y);/*输入两个数中间用逗号分开*/
printf("原来的数x=%d,y=%d\n",x,y);/*输出原始数*/
z=x;/*实现交换*/
x=y;
y=z;
printf("交换后的数x=%d,y=%d\n",x,y);/*输出交换后的数*/
return
0;
}
/*vc++6.0测试结果如下:*/
J. 计算组合数 如何编程
如果是指从m个不同元素中取出n(n≤m)个元素的所有组合的个数 的话
#include"stdio.h"
int fac(int n) /*阶乘函数*/
{
int s,i;
s=1;
for(i=1;i<=n;i++)
{
s*=i;
}
return(s);
}
main()
{
int n,m,c;
scanf("%d %d",&m,&n);
c=fac(m)/(fac(n)*fac(m-n));
printf("%d\n",c);
}
用的是C语言
