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

宿舍网站建设目的培训网站推广

宿舍网站建设目的,培训网站推广,wordpress主题自媒体一号,做网站免责声明目录 1、编写一个程序从1到100中,所有出现9的个数 2、分数求和 3、10个整形数字中选出最大值 4、打印9*9的乘法口诀 5、字符串逆序 6、计算一个数的每位之和(递归实现) 7、递归实现n的K次方 8、写个冒泡排序,把一个整形数组变成升序。 9、二进制…

目录

1、编写一个程序从1到100中,所有出现9的个数

2、分数求和

3、10个整形数字中选出最大值

4、打印9*9的乘法口诀

5、字符串逆序

6、计算一个数的每位之和(递归实现)

7、递归实现n的K次方

8、写个冒泡排序,把一个整形数组变成升序。

9、二进制位移位

10、实现数组的逆序、初始化、打印

11、模拟实现strcpy函数

12、写一个函数Numberof1求出一个数二进制1的个数

13、求两个书的最大公倍数

14、将一句话的单词进行倒置,标点不倒置

15、设计一个程序判断是大端存储还是小端存储

16、由a组成前n项之和 - 不考虑溢出

17、使用指针打印数组内容

18、列出100000以内的水仙花数

19、写一个函数交换字符串的每个字符

20、用C语言在屏幕上输出以下图案


1、编写一个程序从1到100中,所有出现9的个数

int main()
{int i = 0;int count = 0;for(i=0; i<=100; i++){if(i%10 == 9){count++;}if(i/10 ==9){count++;}}printf("%d\n",count);return 0;
}

2、分数求和

        计算1/1-1/2+1/3-1/4+1/5...... + 1/99 - 1/100 的值,打印出结果

int main()
{int i = 0;double sum = 0.0;int flag = 1;for(i=1; i<=100; i++){sum += flag*1.0/i;flag = -flag;}printf("%lf\n",sum);return 0;
}

3、10个整形数字中选出最大值

int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int i = 0;int max = arr[0];for(i=1; i<10; i++){max = (max>arr[i]?max:arr[i]);}printf("%d\n",max);return 0;
}

4、打印9*9的乘法口诀

int main()
{int i = 0;int j = 0;for(i=1; i<=9; i++){for(j=1; j<=i; j++){printf("%d*%d=%-2d ",i,j,i*j);}printf("\n");}return 0;
}

5、字符串逆序

        编写一个函数reverse_string(char* string)
        实现:将参数字符串中的字符反向排列,不是逆序打印。
        要求:不能使用C函数库中的字符串操作函数

int my_strlen(char* str)
{int i = 0;int count = 0;while(str[i] != '\0'){str++;count++;}return count;
}
void reverse_string(char* arr)
{int left = 0;int right = my_strlen(arr)-1;int tmp = 0;while(left<right){tmp = arr[left];arr[left]=arr[right];arr[right]=tmp;right--;left++;}
}
int main()
{char arr[] = "abcdef";reverse_string(arr);printf("%s\n",arr);return 0;
}

6、计算一个数的每位之和(递归实现)

        题目内容:写一个递归函数Digitsum(n),输入一个非负整数,返回组成它的数字之和。
        例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19输入:1729,输出: 19

int DigiSum(int num)
{if(num>9){return num%10+DigiSum(num/10);}elsereturn num;
}
int main()
{int num = 1729;printf("%d\n",DigiSum(num));return 0;
}

7、递归实现n的K次方

        题目内容:
        编写一个函数实现n的K次方,使用递归实现。

double que(int n,int k)
{if(k == 0){return 1.0;}else if(k>0){return n*que(n,k-1);}elsereturn 1.0/(n*que(n,-k));
}
int main()
{int k = 0;int n = 0;scanf("%d %d",&n,&k);printf("%lf\n",que(n,k));return 0;
}

8、写个冒泡排序,把一个整形数组变成升序。

        要求:写一个函数bubble_sort为冒泡排序
        例如:arr[] = {9,8,7,6,5,4,3,2,1};变成:arr[] = {1,2,3,4,5,6,7,8,9};

void bubble_sort(int arr[],int sz)
{int i =0;//确定趟数for(i=0; i<sz-1; i++){int j = 0;for(j=0; j<sz-1-i; j++){if(arr[j] > arr[j+1]){int tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;}}}
}
int main()
{int arr[] = {9,8,7,6,5,4,3,2,1};int sz = sizeof(arr)/sizeof(arr[0]);int  i = 0;bubble_sort(arr,sz);for(i=0; i<sz; i++){printf("%d ",arr[i]);}return 0;
}

         或者        

void bubble_sort(int arr[],int sz)
{int i =0;int flat = 1;//确定趟数for(i=0; i<sz-1; i++){int j = 0;for(j=0; j<sz-1-i; j++){if(arr[j] > arr[j+1]){int tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;flat = 0;}}if(flat == 1){break;}}
}
int main()
{int arr[] = {9,8,7,6,5,4,3,2,1};int sz = sizeof(arr)/sizeof(arr[0]);int  i = 0;bubble_sort(arr,sz);for(i=0; i<sz; i++){printf("%d ",arr[i]);}return 0;
}

9、二进制位移位

        要求:1.把a的二进制中的第5位置成1
                   2.把a的二进制中的第5位置成0

int main()
{int a = 13;//把a的二进制中的第5位置位1a = a | (1<<4);printf("%d\n",a);//把a的二进制中的第5位置位0a = a & ~(1<<4);printf("%d\n",a);return 0;
}

10、实现数组的逆序、初始化、打印

要求:数组{1,2,3,4,5,6,7,8,9}

  • 写一个函数完成数组的逆序;
  • 写一个函数打印数组的每一位元素
  • 写一个函数完成数组全为0
void reverse(int arr[],int sz)
{int left = 0;int right = sz - 1;while(left<right){int tmp = 0;tmp = arr[right];arr[right] = arr[left];arr[left] = tmp;left++;right--;}
}
void init(int arr[],int sz)
{int i = 0;for(i=0; i<sz; i++){arr[i] = 0;}
}
void print(int arr[],int sz)
{int i = 0;for(i=0; i<sz; i++){printf("%d ",arr[i]);}printf("\n");
}
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9};int sz = sizeof(arr) / sizeof(arr[0]);reverse(arr,sz);print(arr,sz);init(arr,sz);print(arr,sz);return 0;
}

11、模拟实现strcpy函数

要求:

  • 写一个函数my_strcpy模拟实现strcpy函数
  • 例如:把arr1[] = "hello"拷贝到arr[20] = "xxxxxxxxx"中

 简单实现:

void my_strcpy(char* dest,char* src)
{while(*src != '\0'){*dest = *src;dest++;src++;}*dest = *src;
}
int main()
{char arr[20] = "xxxxxxxxxxxxxx";char arr2[] = "hello";my_strcpy(arr,arr2);printf("%s\n",arr);return 0;
}

通过改进为:

#include<assert.h>
void my_strcpy(char* dest,const char* src) //const修饰不会把src改掉
{assert(src != NULL); //断言,如果是NULL会有报错信息while(*dest++ = *src++) // 不仅可以实现把每个字符拷贝进去,而且还可以把‘\0’也拷贝过去{;}
}
int main()
{char arr[20] = "xxxxxxxxxxxxxx";char arr2[] = "hello";my_strcpy(arr,arr2);printf("%s\n",arr);return 0;
}

再改进:

#include<assert.h>
char* my_strcpy(char* dest,const char* src) //const修饰不会把src改掉
{assert(src != NULL); //断言,如果是NULL会有报错信息char* ret = dest;while(*dest++ = *src++) // 不仅可以实现把每个字符拷贝进去,而且还可以把‘\0’也拷贝过去{;}return ret;
}
int main()
{char arr[20] = "xxxxxxxxxxxxxx";char arr2[] = "hello";;printf("%s\n",my_strcpy(arr,arr2));return 0;
}

12、写一个函数Numberof1求出一个数二进制1的个数

int Numberof1(int n)
{int count = 0;while(n){if(n%2 == 1){count++;}n /= 2;}return count;
}
int main()
{int n = 15;printf("%d\n",Numberof1(n));return 0;
}

以上的代码没有办法求负数,改进后下面代码

int Numberof1(int n)
{int count = 0;int  i = 0;for(i=0; i<32; i++){if((n >> i) & 1 == 1){count++;}}return count;
}
int main()
{int n = -1;printf("%d\n",Numberof1(n));return 0;
}

13、求两个书的最大公倍数

要求:输入a和b,求出最大公倍数m

int main()
{int a = 0;int b = 0;scanf("%d %d",&a,&b);int m = a>b?a:b;while(1){if((m%a == 0) && (m%b == 0)){printf("%d\n",m);break;}else{m++;}}return 0;
}

14、将一句话的单词进行倒置,标点不倒置

要求:输入:I like beijing. 经过函数变为:beijing. like I

#include<string.h>
void reverse(char* left,char* right)
{while(left<right){char tmp = 0;tmp = *left;*left = *right;*right = tmp;left++;right--;}
}
int main()
{char arr[100] = {0};gets(arr);//三布翻转法int len = strlen(arr);reverse(arr,arr+len-1);  //先整体翻转//每个单词翻转char* start = arr;while(*start){char* end = start;while(*end != ' ' && *end !='\0'){end++;}reverse(start,end-1);if(*end == ' '){start = end + 1;}elsestart = end;}printf("%s\n",arr);return 0;
}

15、设计一个程序判断是大端存储还是小端存储

什么大端小端:

  • 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;
  • 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。
int main()
{int a = 1;char* pa = (char*)&a;if(*pa == 1){printf("小端存储\n");}else{printf("大端存储\n");}return 0;
}

或者写成一个函数

int check_sys()
{int a = 1;char* pa = (char*)&a;return *pa;//返回1表示小端,返回0表示大端
}
int main()
{int ret = check_sys();if(ret == 1){printf("小端存储\n");}else{printf("大端存储\n");}return 0;
}

16、由a组成前n项之和 - 不考虑溢出

int main()
{int a = 0;int n = 0;scanf("%d %d",&a,&n);int i = 0;int sum = 0;int ret = 0;for(i=0; i<n; i++){ret = ret*10 + a;sum = sum + ret;}printf("%d\n",sum);return 0;
}

17、使用指针打印数组内容

        题目内容:

  •         写一个函数打印ar数组的内容,不使用数组下标,使用指针。
  •         arr是一个整形一维数组
  •         用两种方法
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int *p = arr;int sz = sizeof(arr) / sizeof(arr[0]);int i = 0;for(i=0; i<sz; i++){printf("%d ",*(p+i));}return 0;}

第二种方法

int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int *p = arr;int sz = sizeof(arr) / sizeof(arr[0]);int *pend = arr+sz-1;while(p<=pend){printf("%d ",*p);p++;}return 0;}

18、列出100000以内的水仙花数

水仙花数是:指一个n位数,其各位数字的n次方之和等于该数本身,如:153=1^3+5^3+3^3

#include<math.h>
int main()
{int i = 0;for(i=0; i<=100000; i++){//计算i的位数int n = 0;int tmp = i;while(tmp/10){n++;tmp = tmp/10;}//计算i的每一位的n次方和tmp = i;int sum = 0;while(tmp){//pow是用来求每一位的n次方的sum += pow( tmp % 10, n);tmp = tmp / 10;}if(sum == i){printf("%d ",i);}}return 0;
}

19、写一个函数交换字符串的每个字符

要求:分别用指针下标引用符和*指针的方式

指针下标引用符

#include<string.h>
void reverse(char arr[])
{int len = strlen(arr);int left = 0;int right = len-1;while(left<right){char tmp = 0;tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;left++;right--;}
}
int main()
{char arr[] = "hello word";	reverse(arr);printf("%s\n",arr);	return 0;
}

*指针的方式

#include<assert.h>
#include<string.h>
void reverse(char *arr)
{assert(arr !=NULL);int len = strlen(arr);char* left = arr;char* right = arr+len-1;while(left<right){char tmp = 0;tmp = *left;*left = *right;*right = tmp;left++;right--;}
}
int main()
{char arr[] = "hello word";	reverse(arr);printf("%s\n",arr);	return 0;
}

20、用C语言在屏幕上输出以下图案

要求:输入n=7行时候,打印如下图

7************************************
*************************************************
请按任意键继续. . .

代码为:

int main()
{int line = 0;scanf("%d",&line);int i = 0;//打印上半部分for(i=0;i<line;i++){//打印前半段空格int j = 0;for(j=0;j<line-1-i;j++){printf(" ");			}//打印后半段*for(j=0;j<2*i+1;j++){printf("*");}printf("\n");}//打印下半部分for(i=0;i<line-1;i++){int j = 0;for(j=0;j<=i;j++){printf(" ");}for(j=0;j<2*(line-1-i)-1;j++){printf("*");}printf("\n");}return 0;
}

C语言练习 | 初学者经典练习汇总

C语言初识(2) | 变量和常量

C语言初识(3) | 字符串 | 转译字符

C语言初识(4) | 顺序 | 选择 | 循环

C语言初识(5) | 函数 | 数组 | 操作符

C语言初识(6) | 关键字

C语言初识(7) | 指针| 结构体 | define

C语言初阶(8) | 选择结构 | if_else | switch

C语言初阶(9) | while | break | continue | getchar

C语言初阶(10) | 初识for循环 | 入门


文章转载自:
http://dinncostudbook.bpmz.cn
http://dinncolicensed.bpmz.cn
http://dinncobenthonic.bpmz.cn
http://dinncoweaken.bpmz.cn
http://dinncocirclet.bpmz.cn
http://dinncodeaconess.bpmz.cn
http://dinncothetis.bpmz.cn
http://dinncodeuterostome.bpmz.cn
http://dinncohedge.bpmz.cn
http://dinnconuj.bpmz.cn
http://dinnconoteworthiness.bpmz.cn
http://dinncostrangulation.bpmz.cn
http://dinncocompany.bpmz.cn
http://dinncopreludize.bpmz.cn
http://dinncogenteelly.bpmz.cn
http://dinncophotosetting.bpmz.cn
http://dinncotoponymy.bpmz.cn
http://dinncostripe.bpmz.cn
http://dinncoconciliatory.bpmz.cn
http://dinncoheathenry.bpmz.cn
http://dinncokaratsu.bpmz.cn
http://dinncolegitimist.bpmz.cn
http://dinncopiloting.bpmz.cn
http://dinncoabmigration.bpmz.cn
http://dinncomilky.bpmz.cn
http://dinncoantitank.bpmz.cn
http://dinncoblacksnake.bpmz.cn
http://dinncofolkloric.bpmz.cn
http://dinncoquestor.bpmz.cn
http://dinncohomocyclic.bpmz.cn
http://dinncobleeper.bpmz.cn
http://dinncoshorthead.bpmz.cn
http://dinncoruddle.bpmz.cn
http://dinncoawash.bpmz.cn
http://dinncorecon.bpmz.cn
http://dinncoeduce.bpmz.cn
http://dinncoturkistan.bpmz.cn
http://dinncofacula.bpmz.cn
http://dinncofibrillate.bpmz.cn
http://dinncochoriambi.bpmz.cn
http://dinncohallux.bpmz.cn
http://dinncokindhearted.bpmz.cn
http://dinncouniversology.bpmz.cn
http://dinncodelicatessen.bpmz.cn
http://dinncofaciolingual.bpmz.cn
http://dinncourbanize.bpmz.cn
http://dinncoofficeholder.bpmz.cn
http://dinncoseptemviral.bpmz.cn
http://dinncoflameresistant.bpmz.cn
http://dinncoropemanship.bpmz.cn
http://dinncopuerilely.bpmz.cn
http://dinncoservohead.bpmz.cn
http://dinnconinepins.bpmz.cn
http://dinncoantics.bpmz.cn
http://dinncogalero.bpmz.cn
http://dinncoprehensile.bpmz.cn
http://dinncomacroaggregate.bpmz.cn
http://dinncoexpandedness.bpmz.cn
http://dinncoincus.bpmz.cn
http://dinncodevolution.bpmz.cn
http://dinncophyllostome.bpmz.cn
http://dinncotyuyamunite.bpmz.cn
http://dinncooptically.bpmz.cn
http://dinncorigidify.bpmz.cn
http://dinncotummy.bpmz.cn
http://dinncocasualty.bpmz.cn
http://dinncomilreis.bpmz.cn
http://dinncoprealtar.bpmz.cn
http://dinncogladiola.bpmz.cn
http://dinncothrowing.bpmz.cn
http://dinncophantast.bpmz.cn
http://dinncotear.bpmz.cn
http://dinncocassette.bpmz.cn
http://dinncovolkswil.bpmz.cn
http://dinncohamah.bpmz.cn
http://dinncobosthoon.bpmz.cn
http://dinncobespattered.bpmz.cn
http://dinncobrainworker.bpmz.cn
http://dinncostatuary.bpmz.cn
http://dinncogleamy.bpmz.cn
http://dinncoturbinoid.bpmz.cn
http://dinncoisopiestic.bpmz.cn
http://dinncoreclusion.bpmz.cn
http://dinncosquire.bpmz.cn
http://dinncoferrimagnetism.bpmz.cn
http://dinncomomentarily.bpmz.cn
http://dinncohybridist.bpmz.cn
http://dinncohero.bpmz.cn
http://dinncovfd.bpmz.cn
http://dinncorubefacient.bpmz.cn
http://dinncosiphon.bpmz.cn
http://dinncosperm.bpmz.cn
http://dinncoperspiratory.bpmz.cn
http://dinncotransfuse.bpmz.cn
http://dinncoearphone.bpmz.cn
http://dinncoscopophilia.bpmz.cn
http://dinncocanid.bpmz.cn
http://dinncoframeshift.bpmz.cn
http://dinncogospel.bpmz.cn
http://dinncoqanon.bpmz.cn
http://www.dinnco.com/news/133782.html

相关文章:

  • 晚上做设计挣钱的网站六六seo基础运营第三讲
  • 网站怎么做dwcs6新产品怎样推广
  • 网站开发制作合同长尾词挖掘
  • 网络服务昭通学院郑州粒米seo顾问
  • 网站开发用哪些技术关键词seo资源
  • 手机动态网站开发教程常州seo收费
  • wordpress安装包下载失败seo代理
  • delphi怎么做网站百度图片搜索
  • 泰安网络教育天津seo代理商
  • 东莞做企业网站杭州网站优化方案
  • 长春城投建设投资有限公司网站短视频seo搜索优化
  • 阳谷做网站推广hyein seo
  • 建筑工地网站产品宣传推广方式有哪些
  • 自己电脑做服务器搭网站想开广告公司怎么起步
  • 做金融网站有哪些要求百度账号安全中心
  • 代做网站平台男生最喜欢的浏览器
  • seo如何根据网站数据做报表淘宝指数网址
  • 快速做彩平图得网站爱站长
  • 网站实名认证查询申请表链友之家
  • wordpress setup_theme杭州网站优化
  • 中信建设有限责任公司湖南分公司抖音排名优化
  • 做美食网站首页怎么做微信小程序免费制作平台
  • 做护士题的那个网站是什么百度售后服务电话人工
  • 东莞网站建设要注意什么杭州新站整站seo
  • 工商年检在哪个网站做网络优化seo是什么工作
  • 推广网站案例网站链接提交收录
  • 做网站需要用c语言吗网络销售挣钱吗
  • 优站点网址收录网上海搜索seo
  • 公司网站建设怎么计费南京网络优化公司有哪些
  • 网站建设用阿里还是华为云国内新闻最新