当前位置: 首页 > news >正文

专业的定制型网站建设北京建立公司网站

专业的定制型网站建设,北京建立公司网站,wordpress发卡模板,购物网站案例1. 输出“Hello world!”. C语言最简单的程序,用于测试编译器是否正常工作. 2. 求两个数之和. 让用户输入两个整数,计算它们的和并输出。 3. 判断奇偶性. 让用户输入一个整数,判断它是奇数还是偶数。 4. 判断闰年. 让用户输入…

1. 输出“Hello world!”.

C语言最简单的程序,用于测试编译器是否正常工作.

6f7642b9417842c2be8fe8bc274a5f23.jpg

 2. 求两个数之和.

让用户输入两个整数,计算它们的和并输出。

46bb76d9be9f49819020e8abc91a2b22.jpg

 3. 判断奇偶性.

让用户输入一个整数,判断它是奇数还是偶数。

ecf355527e244e43b4b9feed1e787300.jpg

 4. 判断闰年.

让用户输入一个年份,判断它是否是闰年。

a1867f93d5f446beba85ff5666b1bd81.jpg

 5. 判断素数.

让用户输入一个整数,判断它是否是素数(质数)。

47fc3e130bc24ef38f65fc45c59080bc.jpg

 6. 求阶乘.

让用户输入一个非负整数,计算它的阶乘并输出。

9b3b5b4152224e1ca85141072b75dd82.jpg

 7. 裴波那契数列.

输出裴波那契数列的前n项。

7c2833253d204c549e3eebf02d6a1aa6.jpg

 8. 最大公约数和最小公倍数.

让用户输入两个正整数,计算它们的最大公约数和最小公倍数并输出。

0ee059d15e2c43aa8899596e75c4cdb5.jpg

 9. 十进制转换二进制.

让用户输入一个十进制数,将其转换为二进制数并输出。

1b73ae9309e64a1389adde11a3e953f4.jpg

 10. 二进制转换十进制.

让用户输入一个二进制数,将其转换为十进制数并输出。

89bed95eafe64b97af250ffc2a645acc.jpg

 11.字符串长度.

计算一个字符串的长度并输出。

#include <stdio.h>
 
int my_strlen(char* str)
{
    char* start = str;
    while(*str)
    {
        str++;
    }
    return str - start;
}
 
int main()
{
    char s[] = "abc";
    int len = my_strlen(s);
    printf("%d ",len);
    return 0;
}

12. 字符串反转.

将一个字符串反转并输出。

#include<stdio.h>
#include<string.h>
int main()
{
    char arr[101] = { 0 };
    char brr[101] = { 0 };
    int left = 0;//前指针
    int right = 0;//后指针
    int len = 0;
    int j = 0;
    int x = 0;
    gets(arr);
    //先确定待逆置的字符串的长度
    //然后确定一个新的等长度的字符串
    //一个单词一个单词的放进另一个字符串
    //最后打印该字符串
    len = strlen(arr);
    right = len - 1;//让后指针放在最后一个字符上
    left = right;//将前后指针放在一起
    while (right > 0)
    {
        //1.先让left指针移动如果遇到空格就停止
        //这个过程left指针的停止条件有两个
        //一,遇到空格,二,到字符串开头也就是left指向arr的时候就停止
        //2.让后将两个指针之间[left, right]的单词copy到另一个字符串。
        //将right等于left - 2
        //left-2;
        //重复以上循环
        while ((left != 0) && (arr[left - 1] != ' '))
        {
            left--;
        }
        for (int i = left; i <= right; i++)
        {
            brr[j++] = arr[i];
        }
        if (left != 0)//意味着还没有结束,还有一个单词
        {
            brr[j++] = ' ';
            right = left - 2;//所以贸然的让right = 0就不行
            left--;
            if (right <= 0 && left == 1)//排除第一个单词只有一个字母的情况
            {
                right = left;
            }
        }
        else
        {
            right = left;
        }
    }
    printf("%s", brr);
}

13. 数组求和.

输入数组元素,对其求和并输出。

#include<stdio.h>

int main()

{

 int array[10]={1,2,3,4,5}; 

 int sum,loop;

 sum=0;

 for(loop=9;loop>=0;loop--)

 {

  sum=sum+array[loop];

 }

 printf("元素和为:%d",sum);

 return 0;

 }

14. 数组最大值和最小值.

输入数组元素,对其求最大值和最小值并输出。

#include<stdio.h>

#define N 5

int main()

{

    int i,a[N],max,min;

    printf("输入%d个数:",N);

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

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

    max=min=a[0];

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

    {

        if(a[i]>max)

            max=a[i];

        if(a[i]<min)

            min=a[i];

    }

    printf("max=%d,min=%d\n",max,min);

    return 0;

}

15. 反转数组.

随机输入数组元素,将其反转并输出。

#include <stdio.h>

#define N 6

int main()

{

  int a[N] = {0,1,2,3,4,5};

  int i;

  int t;

  int j;

//反转算法

  for(i=0;i<N/2;i++)

  {

    t = a[i];

    a[i] = a[N-1-i];

    a[N-1-i] = t;

  }

  //遍历输出,数组反转之后结果输出

    for (j=0;j<N;j++)

    {

      printf("%d\t",a[j]);

    }

      printf("\n");

}

16. 冒泡排序.

输入数组元素,对其进行冒泡排序并输出。

#include <stdio.h>
#include <stdlib.h>

//冒泡排序
void bubbleSort( int data[] ,int n )//data[]是传过来的数组,n是数组中那些数的个数
{
 /*----begin------*/
 for(int i=0;i<n-1;i++)//这里是外循环,有n个数就比较n-1次
 {
    for(int j=0;j<n-1-i;j++)//这是内循环,每轮比较n-1-(上一轮的除去的数的个数)
    {
      if(data[j]>data[j+1])//判断如果左边的数大于右边的数,就把大的数往右移
      {
        //这个是交换不用第三方变量的方式,当然也可以借用第三方变量来交换
        data[j]=data[j]+data[j+1];
        data[j+1]=data[j]-data[j+1];
        data[j]=data[j]-data[j+1];
      }
    }
    print(data,n);//输出每一轮排序后的数
 }
 /*-----end------*/
}

//输出数组元素
void print(int data[] ,int n)
{
 for(int i=0;i<n;i++)
   printf("%d ",data[i]);
 printf("\n");//输出后换行
}
//主函数
int main()
{
    int data[]={5,1,3,2};//数组元素
    bubbleSort(data,4);//调用冒泡排序函数
    return 0;
}

17. 选择排序.

输入数组元素,对其进行选择排序并输出。

#include <stdio.h>

#include <stdlib.h>

//选择排序算法 

void selectSort(int *arr,int n)

{

 int temp, i, j;

 int k;

 for(i = 0; i < n - 1; i++)

 {

  k = i;

  for(j = i + 1; j < n; j++)

  {//循环遍历查找最小的数 

   if( arr[k] > arr[j])  

   { //避免交换元素的次数过多  

    k = j; 

   }

  }

  if( k != i)

  {

   temp = arr[i];

   arr[i] = arr[k];

   arr[k] = temp;

  }

 }

}

int main(void)

{

 int p[10] = {1, 5, 3, 4, 8, 10, 4, 6, 7, 2};

 int i;

 selectSort(p, 10); 

// 输出 

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

 {

  printf("%d ", p[i]);

 } 

 system("pause");

 return 0; 

}

18. 插入排序.

输入数组元素,对其进行选择排序并输出。

#include <stdio.h>

#include <stdlib.h>

#define SIZE 20

void insert_sort(int array[], const int size);

void printArray(int array[], const int size);

int main(int argc, char const *argv[])

{

    int array[SIZE];

    int count = 0;

    srand(time(NULL));

    for (count = 0; count < SIZE; count++) {

        array[count] = rand() % SIZE + 1;

    }

    printArray(array, SIZE);

    insert_sort(array, SIZE);

    printArray(array, SIZE);

    return 0;

}

void insert_sort(int array[], const int size) {

    int j, k = 1, temp;

    for (k = 1; k < size; k++) {

        temp = array[k];

        for (j = k - 1; j >= 0 && array[j] > temp; j--) {

            array[j + 1] = array[j];

        }

        array[j + 1] = temp; 

    }

}

void printArray(int array[], const int size) {

    printf("The current array is:\n");

    int count = 0;

    for (count = 0; count < size; count++) {

        printf("%d ", array[count]);

    }

    printf("\n");

}

19. 希尔排序.

输入数组元素,对其进行希尔排序并输出。

#include <stdio.h>
#include <malloc.h>

void shellSort(int *a, int len); // 函数声明

int main(void)
{
    int i, len, * a;
    printf("请输入要排的数的个数:");
    scanf("%d",&len);
    a = (int *)malloc(len * sizeof(int)); // 动态定义数组
    printf("请输入要排的数:\n");
    for (i = 0; i < len; i++) { // 数组值的输入
        scanf("%d",&a[i]);
    }   
    shellSort(a, len); // 调用希尔排序函数
    printf("希尔升序排列后结果为:\n");
    for (i = 0; i < len; i++) { // 排序后的结果的输出
        printf("%d\t",a[i]);
    }
    printf("\n");

    return 0;
}

void shellSort(int *a, int len)
{
    int i, j, k, tmp, gap;  // gap 为步长
    for (gap = len / 2; gap > 0; gap /= 2) {  // 步长初始化为数组长度的一半,每次遍历后步长减半,
        for (i = 0; i < gap; ++i) { // 变量 i 为每次分组的第一个元素下标 
            for (j = i + gap; j < len; j += gap) { //对步长为gap的元素进行直插排序,当gap为1时,就是直插排序
                tmp = a[j];  // 备份a[j]的值
                k = j - gap;  // k初始化为i的前一个元素(与i相差gap长度)
                while (k >= 0 && a[k] > tmp) {
                    a[k + gap] = a[k]; // 将在a[i]前且比tmp的值大的元素向后移动一位
                    k -= gap;
                }
                a[k + gap] = tmp; 
            }
        }
    }
}

20.快速排序.

输入数组元素,对其进行快速排序并输出。

int main()

{

    int arr[10] = {9,5,3,8,1,2,6,7,4,10};

    void quicksort(int a[10],int i,int j); //函数的声明

    printf("排列前:");

    for(int i = 0; i < 10;i++)

    {

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

    }

    printf("\n");

    quicksort(arr,0,9); //调用函数

    printf("排列后:");

    for(int i = 0; i < 10;i++)

    {

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

    }

    system("pause");

    return 0;

}

void quicksort(int a[10],int first,int end)

{

    if(first > end) //递归结束条件

    {

        return;

    }

    int i = first,j = end,flag = a[i],exchange = 0;

    while(i != j)

    {

        while(i < j && a[j] > flag)

        {

            j--;

        }

 

        while(i < j && a[i] <= flag)

        {

            i++;

        }

        if(j > i)

        {

            exchange = a[i];

            a[i] = a[j];

            a[j] = exchange;

        }

    }

    a[first] = a[i];

    a[i] = flag;

    quicksort(a,first,i - 1);

    quicksort(a,i + 1,end);

}

后续会持续更新函数类型解析.🤛

 

http://www.yayakq.cn/news/673798/

相关文章:

  • 济南做网站的好公司有哪些怎样在网站上做推广
  • 多语言企业网站源码关键词指数批量查询
  • 服装网站栏目东莞网站建设星河
  • 公司网站建设阿里云王烨桦
  • 汕头网站开发泉州百度关键词优化
  • 做酷炫网站能卖钱吗宁波seo怎么推广
  • 建设网站项目概述清新太和做网站
  • 临沂市网站建设公司衡阳百度seo
  • 唐山自助建站系统广告联盟app推广
  • 宝丰县精神文明建设的门户网站制作公司网页价钱
  • 网站建设的宣传词wordpress+显示异常
  • win10最强优化软件展示型网站一样做seo优化
  • 开发公司工程部奖励规定windows优化大师有必要安装吗
  • 网站优化总结报告广州网站建设商城
  • 如何做网站漂浮广告河南建设监理协会官方网站
  • aso安卓优化seo是什么意思为什么要做seo
  • 广西工程建设质量安全管理协会网站欢迎访问中国建设银行网站个人客户
  • 哪些网站可以做装修建立网站费用怎么做会计分录
  • 所以免费爱做网站网站建设方法牜金手指下拉覀
  • 多语种网站怎么做搜索引擎排名html5网页制作代码成品
  • 绵阳房产网网站优化系统
  • php网站后台忘记密码技能培训有哪些
  • 自己的电脑做服务器 并建网站怎样制作h5
  • 1000禁用黄app软件排行上海网络seo公司
  • 如何给网站弄ftpphp网站的特点
  • 哈尔滨网站建设排网站建设 营销
  • 什么是营销网站网站建设及推广费用
  • html5 手机网站模版长春网络营销公司
  • 传奇手游新开网站全球热门网站排名
  • 网站开发的可行性分析公司网站开发怎么入账