C语言的一些简单操作练习。
互换两个数字:
# include <stdio.h>
int main(void)
{
int i = 3;
int j = 5;
int t;
//将i与j的值交换
t = i;
i = j;
j = t;
printf("i = %d, j = %d\n", i, j);
return 0;
}
输出任意字符任意层的金字塔:
# include<stdio.h>
main()
{
int a,i,j;
char c;
printf("请输入金字塔层数,30内:\n");
scanf("%d",&a);
printf("请输入要输出的字符:\n");
scanf(" %c",&c);
for(i=a;i>0;i--)
{
printf("%*s",i," ");
for(j=0;j<((a-i)*2-1);j++)
{
printf("%c",c);
}
printf("\n");
}
return 0;
}
运行结果:
运算:
# include <stdio.h>
int main(void)
{
/*float i;
i = 51/4;
printf("%f\n", i);
printf("%d %d %d %d %d %d\n", 3%3, 13%-3, -13%3, -13%-3, -13%23, 3%5);*/
int m;
int k = 10;
m = (21>3) && (k=5); //m为布尔型值,k=5为真,当且仅当k=0时才为假,即0为假,其他数为真
printf("m=%d, k=%d\n", m, k); //当左边无法判断m的真假值时,右边才执行;若左边即可以判断m值的真假,右边不执行。
//&&左边的表达式为假时,右边的表达式肯定不会执行
//||左边的表达式为真时,右边的表达式肯定不会执行
return 0;
}
三个数字排序:
# include <stdio.h>
int main(void)
{
double i, j, k;
printf("请输入三个数(中间以空格隔开):");
scanf("%lf %lf %lf", &i, &j, &k);
if (i > j)
{
if (i > k)
{
printf("最大值为:%lf\n", i);
if (j > k)
printf("数的大小顺序为:%lf > %lf > %lf\n", i, j, k);
else
printf("数的大小顺序为:%lf > %lf > %lf\n", i, k, j);
}
else
{ printf("最大值为:%lf\n", k);
if (i > j)
printf("数的大小顺序为:%lf > %lf > %lf\n", k, i, j);
else
printf("数的大小顺序为:%lf > %lf > %lf\n", k, j, i);
}
}
else
{ if (j > k)
{
printf("最大值为:%lf\n", j);
if (i > k)
printf("数的大小顺序为:%lf > %lf > %lf\n", j, i, k);
else
printf("数的大小顺序为:%lf > %lf > %lf\n", j, k, i);
}
else
{
printf("最大值为:%lf\n", k);
if (i > j)
printf("数的大小顺序为:%lf > %lf > %lf\n", k, i, j);
else
printf("数的大小顺序为:%lf > %lf > %lf\n", k, j, i);
}
}
return 0;
}