- 博客(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 2637
原创 请编写一个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 3406
原创 查找介于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 1461
原创 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 1613
原创 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 1130
原创 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 1271
原创 请编写一个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 2169
原创 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如: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 2758
原创 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 1160
原创 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[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 1704 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 486
原创 打印字符串、复制字符串、连接字符串
#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 509
原创 将整数转换为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 1202
原创 计算字符串中的单词数. 单词:由空格分开的连续字母数字串。
#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 935
原创 求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 2734
原创 打印两种菱形。
#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 467
原创 编写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 11861
原创 写一个函数,求一个字符串的长度,在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 70766 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 1973
原创 有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 2476 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 6992
原创 输入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 15239 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 1125
原创 学习使用按位取反~
#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 992
原创 取一个整数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 3239 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 406
原创 学习使用按位或 |
#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 644
原创 学习使用按位与 &。
#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 798
原创 #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 622
原创 #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 986
原创 宏#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 483
原创 宏#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 522
原创 宏#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 672
原创 学习使用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 1470
原创 学习使用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 2353
原创 学习使用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 433
原创 学习使用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 3399
原创 学习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 1123
原创 将一个数组逆序输出。
#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 5065
原创 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
#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 8282
Linux c编程一站式学习(中文版)
2017-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人