自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出

include#include#define N 10void strRev(char *s){ char temp; char *end = s + strlen(s) - 1; while (end > s) { temp = *s; *s = *end; *end = temp; --end; ++s; }}void sixteen(char

2016-10-31 19:28:24 2625

原创 请编写一个C函数,该函数将一个字符串逆序

#include#include#define N 50void strRev(char *s){ char temp; char *end = s + strlen(s) - 1; while (end > s) { temp = *s; *s = *end; *end = temp; --end; ++s; }}int main(){ char

2016-10-31 19:27:10 3390

原创 查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数: (1)该数的十进制表示中有且仅有两个相同的数字位; (2)该数是素数

#include void fun(int n1,int n2);//查找n1到n2的素数void fun1(int n);//判断该素数的十进制表示里,如果只有2位相同,则输出void fun(int n1,int n2){ int i; int j; for (i = n1; i <= n2; i++) { for (j = 2; j < i; j++)//如果能被J

2016-10-30 19:12:10 1434

原创 5.题目:输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果 提示:0 ^ 0 = 0; 1 ^ 1 = 0;

#include int fun(int a){ int b=0; int i; for(i=0;i<32;i++) { if((i==0)||(i==31)) { b+=((a>>i)&1)<<i; } else { b+=(((a>>(i-1))&1)^((a>>(i+1))&1))<<i; } } return b;}void pr

2016-10-29 18:29:41 1589

原创 4.输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.

#include void fun(int a,int p,int v){ int temp; int i; if(v == 0) { a&=~(1 << p); } if(v == 1) { a|=(1 << p); } for(i=31;i>=0;i--) { if((i+1)%4 == 0) { printf(" "); } temp

2016-10-28 10:20:49 1117

原创 2.输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

#include void fun(int a,int p1,int p2){ int i; int temp; printf("The result!\n"); for(i=p2;i>=p1;i--) { if((i+1)%4 == 0) { printf(" "); } temp=(a>>i) & 1; printf("%c",(temp==1)?'

2016-10-27 10:25:12 1250

原创 请编写一个c函数,该函数给出一个字节中被置为1的位的个数

#include void fun(char ch){ int i; int temp; int count=0; for(i=0;i<8;i++) { temp=(ch>>i) & 1; if(temp == 1) { count++; } } printf("Ch include 1!\n"); printf("%d\n",count);}

2016-10-26 13:27:53 2150

原创 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数

#include void fun(int n){ int i; int j; int sum=0; for(i=1;i<=n;i++) { for(j=1;j<i;j++) { if(i%j == 0) { sum+=j; } } if(sum == i) { printf("%d ",i); } sum=0; }

2016-10-25 10:15:45 2741

原创 1.题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入

#include void fun(int n){ int i; int temp; int count = 0; int b; for(i = 1;i <= n;i++) { temp = i; while(temp != 0) { b=temp % 10; temp=temp / 10; if(b == 9) { count++;

2016-10-24 18:49:13 1145

原创 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。

#includeint main(){ int n,m,i,j,k; int sum; for(n=2;n<=20;n++) { m=n*n*n; for(i=1;i<m/2;i+=2) { for(j=i,sum=0;sum<m;j+=2) sum+=j; if(sum==m) { printf("%d*%d*%d=%d=",n,n,n

2016-10-23 18:27:16 1675 1

原创 输入字符串求其中最长的数字段。

#includeint main(){ char s[50]; printf("Please enter a string:\n"); scanf("%s",s); char *p=s; int i=0,len=0,max=0,loc=0,k=0; while(s[i]!='\0') { if((s[i]'9')) { if(len>max) { m

2016-10-22 21:33:32 468

原创 打印字符串、复制字符串、连接字符串

#include#include#define N 50void put_s(char *s){ char *p=s; while(*p!='\0') { printf("%c",*p); p++; } printf("\n");}void strcpy_s(char *s,char *s1){ char *p=s; char *p1=s1; while(

2016-10-21 10:09:47 496

原创 将整数转换为10进制、2进制、16进制的数字串

#include void two(int n); void ten(int n); void sixteen(int n); int main() { int n; printf("输入整数:"); scanf("%d",&n); two(n); ten(n); sixteen(n);

2016-10-20 10:18:52 1156

原创 计算字符串中的单词数. 单词:由空格分开的连续字母数字串。

#include#define N 100int main(){ char s[N]; int i; int count=0;//计数 int a=0;//判断是否计数的标志 printf("Please Enter s:\n"); gets(s); for(i=0;s[i];i++) { if(s[i]==' ') a=0; else if(a==0)

2016-10-19 08:35:55 914

原创 求a和b的最大公约数和最小公倍数

#includevoid gcd(int a,int b){ int t,r; if(a<b) { t=a; a=b; b=t; } r=a%b; int n=a*b; while(r!=0) { a=b; b=r; r=a%b; } printf("最大公约数是%d\n最小公倍数是%d\n",b,n/b);}int main(){ in

2016-10-18 10:19:41 2708

原创 打印两种菱形。

#includevoid fun1(int n){ int i,j; printf("The 1st is:\n"); for(i=1;i<=n;i++) { for(j=1;j<=i+(n-1);j++) { if(j>n-i) printf("*"); else printf(" "); } printf("\n"); } for(

2016-10-17 12:16:42 453

原创 编写input()和output()函数输入,输出5个学生的数据记录

#include#includetypedef struct{ char name[20]; char sex[5]; int age;}Stu;void input(Stu*stu);void output(Stu*stu);int main(){ Stu stu[5]; printf("请输入5个学生的信息:姓名 性别 年龄\n"); input(stu);

2016-10-16 13:27:28 11726

原创 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

#include#define N 100int fun(char *s){ int i=0; while(*s!='\0') { i++; s++; } return i;}int main(){ int len; char s[N]; printf("请输入字符串:"); scanf("%s",s); len=fun(s); printf("字

2016-10-15 22:20:29 70613 5

原创 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

#include#define N 100int main(){ int a[N],i,n; printf("请输入这一圈人的数目:"); scanf("%d",&n); //开始给这些人编号 for(i=0;i<n;i++) { a[i]=i+1; } int j=0;//j用于计数,即让指针后移 int m=0;//m记录退出圈子的人数 int k=0;//k报

2016-10-14 15:46:18 1946

原创 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

#include#includevoid printf_s(int *s,int n){ int i; for(i=0;i<n;i++) printf("%4d",s[i]); printf("\n");}void move_s(int *s,int n,int offset){ while(offset) { int i,a; a=s[n-1]; for(i

2016-10-13 10:13:56 2461 1

原创 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。。

#include#includevoid fun(int *s,int n){ int i; int max=s[0]; int a=0; for(i=0;i<n;i++) { if(s[i]>max) { max=s[i]; a=i; } } s[a]=s[0]; s[0]=max; int j; int min=s[n-1]; int b=

2016-10-13 10:12:24 6909

原创 输入3个数a,b,c,按大小顺序输出(利用指针方法)

#includevoid swap(int *m,int *n){ int t; t=*m; *m=*n; *n=t;}int main(){ int a,b,c; int *p1, *p2, *p3; printf("输入a,b,c:\n"); scanf("%d%d%d",&a,&b,&c); p1=&a; p2=&b; p3=&c; if(a>b)

2016-10-12 12:43:23 15003 2

原创 打印出杨辉三角形

#include#define N 100void fun(int b ){ int s[N][N]; int i,j; printf("杨辉三角:\n"); for(i=0;i<b;i++) { s[i][0]=1; s[i][i]=1; } for(i=2;i<b;i++) for(j=1;j<i;j++) s[i][j]=s[i-1][j-1]+s[i

2016-10-12 12:41:24 1049

原创 学习使用按位取反~

#include int main(){ int a,b; a=234; b=~a; printf("a 的按位取反值为(十进制) %d \n",b); a=~a; printf("a 的按位取反值为(十六进制) %x \n",a); return 0;}

2016-10-11 10:11:21 969

原创 取一个整数a从右端开始的4~7位

#includeint main(){ unsigned a,b; printf("请输入一个数:"); scanf("%d",&a); b=15&a; printf("取这个数从右端的的4位:%d\n",b); return 0;}

2016-10-11 10:10:30 3197 2

原创 学习使用按位异或 ^

#include int main(){ int a,b; a=077; b=a^3; printf("b 的值为 %d \n",b); b^=7; printf("b 的值为 %d \n",b); return 0;}

2016-10-11 10:06:23 386

原创 学习使用按位或 |

#includeint main(){ int a,b; a=077; b=a|3; printf("b 的值为 %d \n",b); b|=7; printf("b 的值为 %d \n",b); return 0;}

2016-10-11 10:04:46 628

原创 学习使用按位与 &。

#include int main(){ int a,b; a=077; b=a&3; printf("a & b(decimal) 为 %d \n",b); b&=7; printf("a & b(decimal) 为 %d \n",b); return 0;}

2016-10-11 10:03:22 772

原创 #include 的应用练习

test.h 文件代码如下:#define LAG >#define SMA <#define EQ ==主文件代码:#include #include"test.h"int main(){ int i,j; printf("请输入两个数字:\n"); scanf("%d %d",&i,&j); if(i LAG j) prin

2016-10-10 08:49:37 609

原创 #if #ifdef和#ifndef的综合应用

#include#define MAX#define MAXIMUM(x,y) (x>y)?x:y#define MINIMUM(x,y) (x>y)?y:xint main(){ int a=10; int b=20;#ifdef MAX printf("更大的数字是%d\n",MAXIMUM(a,b));#else printf("更小的数字是%d\n",MINIMUM

2016-10-10 08:48:05 969

原创 宏#define命令练习3。

#include#define LAG >#define SMA <#define EQ ==int main(){ int i,j; printf("请输入两个数字:"); scanf("%d%d",&i,&j); if(i LAG j) printf("%d 大于 %d \n",i,j); else if(i EQ j) printf

2016-10-09 10:23:11 466

原创 宏#define命令练习2

#include#define exchange(a,b) {int c;c=a;a=b;b=c;}int main(){ int x=10; int y=20; printf("原数据:"); printf("x=%d,y=%d\n",x,y); exchange(x,y); printf("交换后:"); printf("x=%d,y=%d\n",x,y); retur

2016-10-09 10:21:38 506

原创 宏#define命令练习

#include#define TRUE 1#define FALSE 0#define S(x) (x)*(x)int main(){ int num; int again=1; printf("如果值小于 50 程序将终止。\n"); while(again) { printf("\n请输入数字:"); scan

2016-10-09 10:20:48 654

原创 学习使用register定义变量的方法

#include int main(){ register int i; int sum=0; for(i=1;i<=100;i++) sum+=i; printf("1+2+3...+100总和为 %d\n",sum); return 0;}

2016-10-08 09:56:23 1448

原创 学习使用external的用法。

#includeint a,b,c;void fun(){ int a=2; c=a+b;}int main(){ a=b=1; fun(); printf("c=%d\n",c); return 0;}

2016-10-08 09:53:12 2319

原创 学习使用static的另一用法

#includeint main(){ int i; int num=1; for(i=1;i<=3;i++) { printf("num变量为:%d\n",num); num++; { static int num=1; printf("内置模块num为:%d\n",num); num++; } } return 0;}

2016-10-08 09:50:21 423

原创 学习使用auto定义变量的用法

#includeint main(){ int i; int num=1; for(i=1;i<=3;i++) { printf("num变量为:%d\n",num); num++; { auto num=1; printf("内置模块num为:%d\n",num); num++; } } return 0;}

2016-10-08 09:48:33 3372

原创 学习static定义静态变量的用法

#include#includevoid fun(){ int i=0; static int static_i=0; printf("i=%d\n",i++); printf("static_i=%d\n",static_i++);}int main(){ int i; for(i=1;i<=3;i++) fun(); Sleep(5000); return

2016-10-08 09:47:28 1104

原创 将一个数组逆序输出。

#include#define N 10void fun(int* a){ int i; printf("\n倒叙输出数据:\n"); for(i=N-1;i>=0;i--) printf("%d ",a[i]); printf("\n");}int main(){ int i; int a[N]={0,1,2,3,4,5,6,7,8,9}; printf("原始

2016-10-07 10:18:35 5044

原创 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

#includevoid fun(int* a,int b){ a[10]=b; int i,j,c; for(i=0;i<10;i++) { if(a[i]>a[10]) { c=a[i]; a[i]=a[10]; a[10]=c; } } printf("插入一个数后的数据:\n"); for(j=0;j<11;j++) printf("

2016-10-07 10:17:30 8167

Linux c编程一站式学习(中文版)

本人已细心阅读过,对于程序在PC下实现的机制叙述的比较细致,适合入门嵌入式开发学习,主要内容:部分1,C语言入门;部分2,C语言本质;部分3,linux系统编程。

2017-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除