本帖最后由 流光 于 2021-12-2 22:46 编辑
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
2.程序源代码:
[C] 纯文本查看 复制代码 #include "stdio.h"
#include "conio.h"
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;} /*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;} /*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
getch();
}
自写代码:
[C] 纯文本查看 复制代码 #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
/*
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
*/
void swap(int* p1, int* p2)
{
int temp; //利用指针交换数据
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a[3];
printf("输入3个整数.举个栗子:212-59-1\n");
scanf("%d-%d-%d", &a[0], &a[1], &a[2]);//捕获数据到数组
for (int k = 0; k < 2; k++) //排2次
for (int i = 0; i < 2; i++)
{
if (a[i] > a[i + 1])
{
swap(&a[i], &a[i + 1]);
}
}
for (int i = 0; i < 3; i++) //打印结果
{
printf("%d ", a[i]);
}
return 0;
}
【程序6】 (跳过)
题目:用*号输出字母C的图案。
1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。
2.程序源代码:
[C] 纯文本查看 复制代码 #include "stdio.h"
#include "conio.h"
main()
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
getch();
}
【程序7】 (跳过)
题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
1.程序分析:字符共有256个。不同字符,图形不一样。
2.程序源代码:
[C] 纯文本查看 复制代码 #include "stdio.h"
#include "conio.h"
main()
{
char a=176,b=219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
getch();
}
|