输入两个数,求两个数的差
以下程序有语法错误,请改正
#include
int main( )
{
int x,y;
int r;
scanf("%d%d", x,y);
r=x-y
printf("%d-%d=\n",x y r);
return 0;
}
输入
12 24
输出
12-24=-12
注意 ; scanf printf 函数即可...
#include
int main( )
{
int x,y;
int r;
scanf("%d %d",&x,&y);
r=x-y;
printf("%d-%d=%d\n",x,y,r);
return 0;
}
输入一天中的最高温度值和最低温度值,求此天的温差,请先输入最高温度值,再输入最低温度值。温度值假设都是整数。
输入
30 25
输出
5
会用 scanf 和 printf 即可,这里仅用了两个变量,因为 printf 可以直接输出表达式的值,如下:
#include
int main( )
{
int high,low;
scanf("%d %d",&high,&low);
printf("%d\n",high-low);
return 0;
}
另一个版本用到三个变量, 用 dis 来存储差值
#include
int main( )
{
int high,low,dis;
scanf("%d %d",&high,&low);
dis=high-low;
printf("%d\n",dis);
return 0;
}
将秒数转换为时间格式(24小时制,00:00:00格式)
输入
3612
输出
01:00:12
学会运用 %02d 进行格式化输出~
#include
int main( )
{
int time;
int hour,minute,second;
scanf("%d",&time);
hour=time/3600;
minute=time/60%60;
second=time%60;
printf("%02d:%02d:%02d\n",hour,minute,second);
return 0;
}
编程实现两个整数的交换。
输入
1,2
输出
请输入x,y的值:交换前:x = 1 , y = 2
交换后:x = 2 , y = 1
带填充标签的C/C++原程序
#includeint main() { int x,y,temp; //声明三个整型变量 printf("请输入x,y的值:"); //提示输入数据 @#1 //输入2个整数的值,中间用逗号分隔 printf("交换前:x = %d , y = %d\n", x,y ); //输出原来的x和y的值 temp=x ; //先把x的值藏一下 x = @#2 // 把y的值放到x处 y = @#3 //把x的原值放到y处,那么,x的原值藏在哪里呢? printf("交换后:x = %d , y = %d\n", x,y ); //输出交换后的x和y的值 }
掌握如何交换,需要通过一个介质 t 实现~
#include
int main()
{
int x,y,temp; //声明三个整型变量
printf("请输入x,y的值:"); //提示输入数据
scanf("%d,%d",&x,&y); //输入2个整数的值,中间用逗号分隔
printf("交换前:x = %d , y = %d\n", x,y ); //输出原来的x和y的值
temp = x ; //先把x的值藏一下
x = y; // 把y的值放到x处
y = temp; //把x的原值放到y处,那么,x的原值藏在哪里呢?
printf("交换后:x = %d , y = %d\n", x,y ); //输出交换后的x和y的值
}
输入一个两位数,分离出个位数字和十位数字,并将其颠倒组合为一个新的两位数
输入
58
输出
85
在学会位数分离的基础上简单操作~
#include
int main( )
{
int x;
scanf("%d",&x);
printf("%d\n",x/10+x%10*10);
return 0;
}
任意输入一个三位整数,求该三位数各位数码平方的和
输入
123
输出
14
在学会位数分离的基础上简单操作~
注意事项:C语言里是没有 x^2 类似这种表示x的二次方的写法的,只能写成 x*x ,或者引用库函数
法一:暴力求解,用 a,b,c 存储位数, result 存储结果
#include
int main( )
{
int n,a,b,c,result;
scanf("%d",&n);
a=n/100;
b=n/10%10;
c=n%10;
result=a*a+b*b+c*c;
printf("%d\n",result);
return 0;
}
法二:利用 循环 + 引用库函数 求解,可参考一下
注意事项: sum 要初始化!否则 Cfree 会输出乱码. vscode不初始化没关系,有默认值0
#include
#include
int main( )
{
int n,sum=0;
scanf("%d", &n);
while(n)
{
sum += pow(n % 10, 2);
n /= 10;
}
printf("%d\n", sum);
return 0;
}
法三:利用 递归函数 求和,函数+递归的运用可以让代码看起来更简洁,不过有时候时间效率会很低,这边提一下,有兴趣的同学可以预习预习~ PS(刚接触雀氏有点难理解)
#include
#include
int r_sum(int n,int result);
int main( )
{
int n;
scanf("%d", &n);
n = r_sum(n, 0);//更新一遍n,就不申请新变量了
printf("%d\n", n);
return 0;
}
int r_sum(int n,int result)
{
if(!n) return 0;
return pow(n%10,2)+r_sum(n/10,result);
}
把函数 r_sum 直接放在 printf 函数里也可以的,就不需要更新 n 了
printf("%d\n", r_sum(n, 0));
求整数各位数码之和
输入
输入一个5位正整数n(n>0)
输出
计算该数各位数码之和并输出结果
样例输入
12345
样例输出
15
在学会位数分离的基础上简单操作~ 和上一问差不多的
一、一般办法 用 a,b,c,d,e 分别存储各个位数,再通过 sum 求和输出;
二、将 a,b,c,d,e 用数组 a[5] 代换;
三、不用数组,直接通过循环累积求解,且前两种方法受数位限制,下面附上第三种的代码:
#include
int main()
{
int n,sum=0;
scanf("%d", &n);
while(n)
{
sum += n % 10;
n /= 10;
}
printf("%d\n", sum);
}
求数学函数f(x)=x^3+x^2+x+1的值
输入
输入自变量x的值(x为整数 ,x<500)
输出
输出对应的函数值
样例输入
10
样例输出
1111
#include
int main()
{
int x,y;
scanf("%d",&x);
printf("%d\n",x*x*x+x*x+x+1);
return 0;
}
以下程序有语法错误,请改正
功能是计算函数:f(x)=3*x (x能被10整除),或者 f(x)=x (x不能被10整除)
#include
int main( )
{
int x;printf("Enter x:\n");
scanf("%d", x);
if(0= x %10){
y = 3* x
}
else {
y = x;
}
printf("f(%d)=%d\n" x y);return 0;
}
输入
15
输出
Enter x:
f(15)=15
注意 = 表示赋值, == 才表示判断比较~
#include
int main( )
{
int x,y;
printf("Enter x:\n");
scanf("%d",&x);
if(0 == x % 10){
y = 3* x;
}
else {
y = x;
}
printf("f(%d)=%d\n" , x , y );
return 0;
}
以下程序有语法错误,请改正
功能是计算:如果x被10整除,则y和z的值都等于x,否则y=2*x z=3*x
#include
int main(void)
{
int x, y,z;printf("Enter x:\n");
scanf("%d", x);
if(0=x %10)
y =z = x
else (x%10!=0)
{
y = x*2;
z= x*3;
printf("y=%d\nz=%d, y, z");return 0;
}
输入
15
输出
Enter x:
y=30
z=45
else 后面不可以加判断条件,else if 后面才可以加
#include
int main(void)
{
int x, y,z;
printf("Enter x:\n");
scanf("%d",& x);
if(0 ==x %10)
y =z = x;
else if( x%10 != 0)
{
y = x*2;
z= x*3;
}
printf("y=%d\nz=%d", y, z);
return 0;
}
计算整数x的绝对值
输入
-67
输出
67
带填充标签的C/C++原程序
#include"stdio.h" main() { int x; scanf("%d",&x); if(@#1) @#2 printf("%d",x); }
正数不变,负数改变即可。
#include"stdio.h"
main()
{
int x;
scanf("%d",&x);
if(x<0)
x=-x;//或x*=-1;
printf("%d",x);
}