流光 发表于 2021-12-2 18:55

C语言学习100列之005-007

本帖最后由 流光 于 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.程序源代码:


#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();
}

自写代码:

#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;


      printf("输入3个整数.举个栗子:212-59-1\n");
      scanf("%d-%d-%d", &a, &a, &a);//捕获数据到数组


      for (int k = 0; k < 2; k++)               //排2次
                for (int i = 0; i < 2; i++)
                {
                        if (a > a)
                        {
                              swap(&a, &a);
                        }
                }







      for (int i = 0; i < 3; i++)    //打印结果
      {
                printf("%d ", a);

      }


      return 0;
}


【程序6】 (跳过)
题目:用*号输出字母C的图案。
1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。
2.程序源代码:
#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.程序源代码:
#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();
}

魔术使nqy 发表于 2021-12-2 19:26

要把100道题做完么,期待
页: [1]
查看完整版本: C语言学习100列之005-007