大叫好,二八承平再次上线,在这里分享一个今天学习的新知识。

问题的出发是输出1-100之间有多少个九,我花费一个多小时自己琢磨,网上查找资料终于解决这个问题。

收获到了知识的甜味!我冒出一个问题?我该怎么输出1-100中含9的数字呢?大家也可以想一想。

欲望激励的我,我经过漫长的反复敲打,终于有了结果。

新的问题出现,我的输出结果没有一定的顺序(当然,我认为90%是我还没有学好C语言的缘故,输出的结果不对),既不是升序也不是降序。啊!令我头大的新问题再次出现?

我该用什么办法解决这个难题,幸运的是我刚好在昨天学习冒泡排序。哇!我看见胜利的曙光!

BUT,我昨天上课学的冒泡排序我还不会!天哪!这可怎么办?

不!不!不!这不足以抵挡我对知识的渴望,我想自己敲代码,反复修改,结果还是不正确?

我会放弃?不!我在网站上搜索关于冒泡排序的知识点,跟着讲解者一步一步的完善我的程序。

我很幸运,我的代码完成了。

我自己还是很明白的!我并没有掌握它,我只是比昨天更懂了他一点,但这足够让我高兴。

到这,我的C语言分享快要结束了,希望大家可以慢慢看到C语言的吸引处,为他着迷。

哦,对了,大家有不会的知识点或者是其他问题,请一定要在网上寻找相关的视频讲解或借鉴他人的代码会受益很多,千万不要自己憋着哦!!!

下面分享一下我的代码:

虽然我很想做的优美一点,可是不知道为什么有点怪怪的。

结构:显示源码,源码的截图,运行的结果。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()

{

   //1-100一百之间有多少个九(20个九,***99有两个九)

int i = 0;                  

int j = 0;

int count = 0;

for (i = 0; i <= 100; i++)

{

 if(i%10==9)

 {

           count++;

 }

 if (i / 10 == 9)      //用else会出错,就变成二选一,会忽略不计99中的一个久,***所以用if语句

 {

  count++;

 }

}

printf("%d\n", count);

  //这一步是输出带有9的数字(1-100),虽然有点麻烦,但我现在只会这个

int a = 0;              

int b = 0;

for (a = 0; a <= 9; a++)

{

 b = 10 * a + 9;

 if (b <100)

 {

  printf("%d ", b);

 }

 b = 10 * 9 + a;

 if (b <99)

 {

  printf("%d ",b);

 }

}

//利用冒泡排序对1-100中带九的数字进行升序

int arr[19];

for (a = 0; a < 19; a++)//根据元素个数的多少利用循环对数组元素进行赋值(通过键盘输入,注意‘&’)

{

 scanf("%d", &arr[a]);

}

for (i = 0; i < 18; i++)//多少--比数组元素少一

{

 for (a = 0; a < 18-i; a++)//一趟要有多少对数组元素比较--比每一趟少一

 {

  if (arr[a] > arr[a + 1])

  {

   int t = arr[a + 1];

   arr[a + 1] = arr[a];

   arr[a] =t;

  }

 }

}

for (a = 0; a < 19; a++)//输出升序的数组元素(多少个元素,循环条件里是多少)

{

   printf("%d ", arr[a]);

}

return 0;

}

关1-100之间9的问题_1-100中9的那些问题

关1-100之间9的问题_冒泡排序_02

以为结束了!哈哈哈!当然不,如果大家有输出1-100之间的含9的数字请@二八承平或是给个评论,指点迷津,对我代码的完善也可以。

谢谢大家。