
void add(float a,float b)
{
printf("%f",a+b)
}
void sub(float a,float b)
{
printf("%f",a-b)
}
void mul(float a,float b)
{
printf("%f",a*b)
}
void div(float a,float b)
{
printf("%f",a/b)
}
int main()
{
int c
float a,b
printf("两数相加,选1\n")
printf("两数相减,选2\n")
printf("两数相码竖孙乘纤铅,选3\n")
printf("两数相除,选4.\n")
scanf("%d",&c)
if(c!=1&&c!=2&&c!=3&&c!=4)
{
printf("输入不合法!!")
exit(0)
}
printf("请输入 *** 作数a和b:")
scanf("%f%f",&a,&b)
switch(c)
{
case 1:add(a,b)break
case 2:sub(a,b)break
case 3:mul(a,b)break
case 4:div(a,b)break
}
return 0
}
# include <stdio.h>int main(void)
{
double a, b
int chose
printf("欢迎使用我的计算器\n")
while (1)
{
printf("********************\n")
printf("1、两数相加\n")
printf("2、两数相减\n")
printf("3、两数相乘\n")
printf("4、两数相除\n")
printf("5、退出\n")
printf("********************\n")
scanf("%d", &chose)
/* if (chose<1 || chose>5)
{
printf("你的输入有误,请重新输入!\n")
continue
}*/
switch (chose)
{
case 1:
printf("请输入第一个数字:\n")
scanf("%lf", &a)
printf("请输入第二个数字:\n")
scanf("%lf", &b)
printf("%lf+%lf = %lf\n", a, b, a+b)
break
case 2:
printf("请输入第一个数字:\n")
scanf("%lf", &a)
printf("请输入第二个数字:\n")
scanf("%lf", &纯厅b)
printf("%lf-%lf = %lf\n", a, b, a-b)
break
case 3:
printf("请输入第档帆一个数字:\n")
scanf("%lf", &a)
printf("请输入第二个数字:\n")
scanf("%lf", &b)
printf("%lf*%lf = %lf\n", a, b, a*b)
break
case 4:
printf("请输入第一个数字做蠢隐:\n")
scanf("%lf", &a)
printf("请输入第二个数字:\n")
scanf("%lf", &b)
printf("%lf/%lf = %lf\n", a, b, a/b)
break
case 5:
printf("再见!\n")
return
default:
printf("你的输入有误,请重新输入!\n")
continue
}
}
}
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main(int argc, char const *argv[])
{
char arr[N] = {}
gets(arr)
char brr[N] = {}
gets(brr)
int len1,len2,i = 0,j = 0
len1 = strlen(arr)
len2 = strlen(brr)
int len = len1>len2?len1:len2
/* c99之后数组初始化支持整型表达式,称为可变长数组,但按照c89的标准是不对的
int num1[len]//将字符串转换成翻转的整型数组
int num2[len]
*/
int* num1 = (int*)malloc(len*sizeof(int))
int* num2 = (int*)malloc(len*sizeof(int))
for (i = 0i <leni++)
{
num1[i] = i<len1 ? arr[len1-i-1]-'0':0
}
for (j = 0j <lenj++)
{
num2[j] = j<len2 ? brr[len2-j-1]-'0':0
}
//int sum[len]//定义和数组
int* sum = (int*)malloc(len*sizeof(int))
int flag=0//设进位符
for (i = 0i <leni++)
{
sum[len-1-i] = (num1[i]+num2[i]+flag)%10
flag = (num1[i]+num2[i]+flag)/10
}
if (flag == 1) printf("1") //如果最高位有进位 则输出一个1
for (i = 0i <leni++)
{
printf("%d",sum[i])
}
printf("\n")
free(num1)
free(num2)
free(sum)
num1 = NULL
num2 = NULL
sum = NULL
return 0
}
扩展资料:gets()函数用法
gets是从标准输入设备读字符串函数。
函数原型:char*gets(char*str);
功能为:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
注意:不会判断上限,以回搜绝判车结束读取,所以程序员应该宏拆确保buffer的空间足够大,以便在执行读 *** 作时不发生溢出。使用时需要包含stdio.h头文件
参数
str为字符串指针,用来存放读取到的数据。
返回值
读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错世改误还是遇到EOF。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)