⑴ c语言程序设计——计算数值较大的a+b
给你中心算法
输入ab
char a[2000]={0},b[2000]={0},c[2000]={0};
这里ab需要先全部赋值为零,要不然长度不一样的话,会有随机数干扰计算
gets(a);
gets(b);
球长度
la=strlen(a);
lb=strlen(b);
lc=la>lb?la:lb;
反序,这样个位才能对应上,个位对个位,百位对百位
strrev(a);
strrev(b);
先计算个位 需要变成int型
c[0]=a[0]+b[0]-96;
再计算中间个位
for(i=1;i<lc;i++)
{
c[i]=a[i]+b[i]-96+c[i-1]/10; 需要加上上一位的进位
c[i-1]%=10; 取出每位的个位
c[i-1]+=48; //变成char型
}
最后处理最高位
while(c[lc-1]>9)
{
c[lc-1]+=38;
c[lc]=49; 变成char的1 两个数相加最大为9+9+1,1是进位
lc++;
}
最后反序回来,也可以从后面打印
strrev(c);
puts(c)
⑵ 用c语言编写程序 ,用函数实现输出a, b两个数的最大值,整数a,b的值从键盘输入、咋做
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int
a,b,max;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
//方法一:三目运算法
max
=
a>b?a:b;
printf("两个数中的最大值是:%d",max);
/*方式二条件判断法(if)
假定:a就是最大值,那么就有以下逻辑过程
max
=
a;
if(max<b){
max=b;
}
printf("两个数中的最大值是:%d",max);
*/
return
0;
}
⑶ c语言 将变量A和B的值进行互换 的程序
代码如下:#include<stdio.h>
#include <stdlib.h>
void swap1(int& a,int& b)//使用中间变量交换两个值
{
int temp = a;
a = b;
b = temp;
}
void swap2(int& a, int& b) //只用加法、减法、乘法也可以交换两个值
{
a = a + b;
b = a - b;
a = a - b;
}
void swap3(int& a, int& b) //使用位运算也可以交换两个值
{
a = a^b;
b = a^b;
a = a^b;
}
void main1mianshiti7()
{
int a1 = 1, b1 = 2;
int a2 = 10, b2 = 15;
int a3 = 78, b3 = 90;
int a = 2147483647, b = 1;
printf("a1=%p,b1=%p", &a1, &b1);
swap1(a1, b1);
swap2(a2, b2);
swap3(a3, b3);
printf("swap after~~~~~~~~~~~~~
");
printf("a1=%d,b1=%d
", a1, b1);
printf("a2=%d,b2=%d
", a2, b2);
printf("a3=%d,b3=%d
", a3, b3);
swap2(a, b);
printf("a=%d,b=%d
", a, b);
system("pause");
}
源代码截图:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1]目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
⑷ c语言,有两个整数a,b,由用户输入1,2或3.如输入1,程序就给出ab中大者,输入2就给出ab中
用指冲圆芦向函数的指针作函数参数,书上例题腔迅
#include<stdio.h>
main()
{
int max(int,int);
int min(int,int);
int add(int,int);
void fun(int x,int y,int (*p)(int,int));
int a=34,b=21,n;
printf("输入1or2or3\n");
scanf("%d",&n);
if(n==1) fun(a,b,max);
else if(n==2) fun(a,b,min);
else if(n==3) fun(a,b,add);
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
printf("散带max=");
return z;
}
int min(int x,int y)
{
int z;
z=x<y?x:y;
printf("min=");
return z;
}
int add(int x,int y)
{
int z;
z=x+y;
printf("sum=");
return z;
}
void fun(int x,int y,int (*p)(int,int))
{
int result;
result=(*p)(x,y);
printf("%d\n",result);
}
⑸ 定义两个变量ab如何用c语言编程使两个变量的值能相互交换
C语言中交换两个变量需要用到一个临时变量temp。
具体按照下面给出步骤操作:
#include
<stdio.h>
void
main
()
{int
a=1,b=2,temp;temp=a;a=b;
b=temp;
printf("a=%d,b=%d\n",a,b);}
(5)c语言ab程序扩展阅读:
(1)变量名在VB中是不区分大小写的(如ABC、aBc、abc等都是一样的)。C语言中区分大小写。不同的语言有不同的规则。
(2)定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。例如:假定正在为水果铺编一个销售苹果的软件。我们需要两个变量来存储苹果的价格和销量。
此时,可以定义两个名为Apple_Price和Apple_Sold的变量。每次运行程序时,用户就这两个变量提供具体值,这样看起来就非常直观。具体方法是:通过用一个或多个单词组成有意义的变量名来使变量意义明确。例如,变量名SalesTaxRate就比Tax或Rate的意义明确得多。
(3)根据需要混合使用大小写字母和数字。一个合理协议是,变量中每个单词的第一个字母大写,例如:DateOfBirth。
(4)另一个合理协议是,每个变量名以两个或三个字符缩写开始,这些字符缩写对应于变量要存储数据的数据类型。例如,使用strName来说明Name变量保存字符串型数据。
参考资料来源:搜狗网络-C语言
⑹ 该c语言程序的输出结果为Ab,如何理解
我也是初学着,看到指针也是头疼的很,不过我每次看到指针都问三个问题,指针指向的什么类型,指针指向的是什么,指针本身是什么类型,搞明白这三个问题,我发现很多问题我能解决啦。
char c1='A',c2='a',*p1,*p2;//定义了字符型的指针,指向字符类型
p1=&c1;p2=&c2;//p1指向了c1='A',p2指向了c2='a'
之后调用fun函数传入实参p1,p2
a=b//也就是p1=p2,p1不在等于&c1了,p1=p2=&c2了,没c1什么事了
(*a)++;//这句动的是c2,a=p1=&c2,*a=*p1=c2='a'又加了个括号后自加一,字符自加一应该按ascii码计算97+1=98,b的ascii码为98,
让打印的是c1,c2,显然c1没变为A,c2变了为b,所以结果为打印Ab
⑺ C语言程序(输入两个数 a b 求ab之间的质数并且输出所有质数之和)
#include <stdio.h> //包含输入输出头文件
int main() //主函数
{
int flag, a,b; //flag标志是否为质数 这里设定b>a
printf("请依次输入a,b两个整数,注意a<b,a和b用空格分开\n");
scanf("%d %d",&a,&b);
for (int i=a;i<=b;i++) //从a开始到b之间的所有数
{
flag=0; //初始化,为质数
for (int j=2;j<=i/2;j++) //从除以2开始,一直除以到i/2,(例如9/7定不能整除)
{
if (!(i %j) ) //如果整除(%为取余数)
{
flag=1; //制标志为1(不为质数)
break; //跳到a-b的下一个数
}
}
if (flag==0) printf("%d\n",i); //如果从除以2开始,一直除以到i/2都不能整除,则为质数,打印出来。
}
}
⑻ 怎样用C语言设计一个程序,输入A、B的值,将两个值交换后输出。
#include<stdio.h>
void main()
{
int a,b,t;
scanf("d%,d%",&a,&b);
if(a<b)
printf("比较后:a,b的值分别为:a=d%,b=d%\n",a,b);
解析:
if(a<b)
{ t=a;
a=b;
b=t;
}//这个是关键代码,首先是判断a是否小于b,如果
小于的话,就执行,里边的t就像是你说的一样,是个中转
工具,就像你要将两个杯子中的水交换一样,你要有另外一个容器做中转。
其实整个过程就是,如果a<b的话,交换他们的值,打印出来。如果是a>b的话,直接打印出来。其实最后的结果就是先输出大的,然后再输出较小值!
能看懂吗?