C语言
陈思有
I can
展开
-
将十六进制的字符串转换为十进制
/* 将16进制的数按字符串形式输入,* * 然后按十进制形式输出。 */#include #include #include #define LEN 10int SixteenToTen(char *sixteenStr); // 用于将十六进制数的字符串转换为十进制数int main(){ char sixteenStr[10原创 2011-11-15 20:07:39 · 861 阅读 · 0 评论 -
n*n个数按口字顺序存放
<br />include <stdio.h>void main(){ int a[10][10]; int i,j,k,n,b=0; scanf("%d",&n); for ( i=0; i<n/2; i++) { for ( j=i; j<n-i; j++) /*四个循环按不同的方向进行*/ a[i][j] = ++b; for ( k=i+1,j--; k<n-i; k++ ) a[k][j] = ++b; for (原创 2011-04-22 13:37:00 · 445 阅读 · 0 评论 -
求任意数的任意次方最后三位数的值
<br />#include <stdio.h>#include <math.h>void main(){ int a,i,b; long sum,n,s; scanf("%d%d",&a,&b); sum = pow(a,b); for ( i=3; i>0; i-- ) { s = sum/pow(10,i-1); n = s%10; printf("%ld ",n); } printf("/n");}原创 2011-04-17 21:56:00 · 2580 阅读 · 0 评论 -
用指向指针的指针来对数组排序(字符串)
<br />#include <stdio.h>#include <string.h>void main(){ void sort(char **p, int n); char *name[5],**p,a[5][20]; int i,j; for (i=0; i<5; i++) name[i] = a[i]; for (i=0; i<5; i++) scanf("%s",name[i]); p = &name; sort(p,5); for (原创 2011-04-12 18:55:00 · 920 阅读 · 0 评论 -
将一个多位数重新组合成最大的数
<br />#include <stdio.h>void main(){ int i,n,a[10],b,j,z,temp; scanf("%d",&n); b = n; for (i=0; b!=0; i++) b = b/10; for (j=0; j<i; j++) { a[j] = n%10; n = n/10; } for (z=1; z<i; z++) { for (j=0; j<i-z; j++) {原创 2011-04-11 12:02:00 · 1064 阅读 · 0 评论 -
将字母之间的字母补充
<br />#include <stdio.h>void main(){ char str[10],c; int i,j; scanf("%s",str); for (i=0; str[i]!='/0'; i++) { c = str[i]; putchar(c); while (c < str[i+1]-1) { c = c+1; putchar(c); } } printf("/n");}原创 2011-04-13 13:12:00 · 463 阅读 · 0 评论 -
用指向指针的指针来对数组排序
<br />#include <stdio.h>void main(){ void sort(int **q, int n); int n,*a[20],**q,i,b[20]; printf("insert the total number:"); scanf("%d",&n); printf("insert every number:/n"); for (i=0; i<n; i++) a[i] = &b[i]; for (i=0; i<n; i++)原创 2011-04-11 17:55:00 · 1759 阅读 · 1 评论 -
将一个字符串放到另一个字符串最小字符的后面
<br />#include <stdio.h>#include <string.h>void main(){ char s[40],v[20],min; int i,j,len,n; char *p; gets(s); gets(v); min = s[0]; p = &s[0]; n = 1; for (i=1; s[i]!='/0'; i++) /*找出s字符串中最小的字母*/ { if (s[i] < min) {原创 2011-04-10 22:41:00 · 2251 阅读 · 1 评论 -
任意给定一个自然数N,要求M是N的倍数,且他的所有各位数字都是由0或1组成,并要求M尽可能小
<br />#include <stdio.h>#include <math.h>void main(){ int n,m; int a,i,j,c; scanf("%d",&n); for (m=n,j=1; ; m+=n,j++) { a = m; for (i=0; a!=0 ;i++) /*求m的位数*/ a = a/10; for (a=m; i!=0 ; i-- ) /*判断m的各位是否为1或者0*/ { c原创 2011-04-10 19:39:00 · 6530 阅读 · 3 评论 -
回文数
<br />#include <stdio.h>#include <math.h>void main(){ int n,i,j,z,a,b,m,c,d; scanf("%d",&n); c = n; for (i=1; ;i++) { c = c/10; if (c==0) break; } z = i; m = n; d = n; for (j=1; j<=(i/2); j++) { z = z - 1;原创 2011-04-09 11:40:00 · 367 阅读 · 0 评论 -
将字符串后面的数字存入另一个数字字符串中
<br />#include <stdio.h>int char_int( char *str, int *a );int main(){ int a[10]; char str[30]; int i,len; gets( str ); len = char_int( str, a ); for ( i=0; i<len; i++) printf("%d ",*(a+i)); printf("/n");}int char原创 2011-04-24 15:58:00 · 1121 阅读 · 0 评论 -
字符串原地压缩
<br />#include <stdio.h>void yasuo( char *str );void main(){ char str[40]; gets( str ); yasuo( str ); printf("%s/n",str);}void yasuo( char *str ){ int i,j=0,len=1; /*j用来将数组重新复制,len用来记载连续的个数*/ for ( i=0; *(str+i)!='/0'原创 2011-04-26 19:40:00 · 1472 阅读 · 0 评论 -
选择排序排列字符串
#include #include void main(){ char *name[]={"peal","apple","pienapl","strawbelly","bannana"}; int k,i,j; char *temp;原创 2011-07-03 16:30:12 · 873 阅读 · 0 评论 -
插入排序法
#include void main(){ int i,j,a[10],temp; for ( i=0; i<10; i++ ) scanf("%d",&a[i]); for ( i=1; i<10; i++ ) { temp = a[i]; for ( j=i-1; j>=0; j-- ) { if( temp < a[j] )原创 2011-07-02 19:27:18 · 342 阅读 · 0 评论 -
微软2 写一个函数,检查字符是否是整数,如果是,返回其整数值。
<br />#include <stdio.h>#include <stdlib.h>#include <string.h>int cheat( int p );void main(){ int c; while ( ( c=getchar())!=EOF ) { getchar(); /*用于吃掉空格或回车*/ c = cheat( c ); if ( isalpha( c ) ) printf("no/n"); else原创 2011-05-10 22:04:00 · 1515 阅读 · 0 评论 -
输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
<br />#include <stdio.h>#include <stdlib.h>typedef struct ListNode{ int m_nKey; struct ListNode *m_pNext;} LIST;void print( LIST *head, int n, int k );int main(){ LIST *head,*p1,*p2; int k,n=0; p1 = p2 = ( LIST * )malloc(原创 2011-05-04 16:47:00 · 2000 阅读 · 0 评论 -
查找字符串中一个子串的个数
<br />#include <stdio.h>#include <string.h>int find_str( char *str, char *des );void main(){ char str[40],des[10]; int n; gets( str ); gets( des ); n = find_str( str, des ); printf("%d/n",n);}int find_str( char *str, cha原创 2011-04-27 16:52:00 · 1390 阅读 · 0 评论 -
将小写前移
<br />#include <stdio.h>#include <string.h>void proc( char *str );void main(){ char str[30]; gets( str ); proc( str ); printf("/n%s/n",str);}void proc( char *str ){ char *p,temp; for ( p=str; *str!='/0'; str++ )原创 2011-04-27 15:18:00 · 639 阅读 · 0 评论 -
对称子字符串的最大长度
<br />#include <stdio.h>int max_len( char *str );void main(){ char str[30]; int len; gets( str ); len = max_len( str ); printf("最长的对称子串的长度%d/n",len);}int max_len( char *str ){ int len,i,j,k,max=0; for ( i=0; *(str+i)原创 2011-04-25 22:09:00 · 669 阅读 · 0 评论 -
将两个数组组合成有序数组
<br />#include <stdio.h>void main(){ int a[100],b[100]; int i,j,k,temp,n,m; printf("输入a数组的个数n:"); scanf("%d",&n); printf("输入b数组的个数m:"); scanf("%d",&m); printf("array a:/n"); for( i=0; i<n; i++) scanf("%d",&a[i]); printf("原创 2011-04-28 12:49:00 · 836 阅读 · 0 评论 -
找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
<br />#include <stdio.h>#include <string.h>void same_str( char *str1, char const *str2, char const *str3 );void main(){ char str1[10],str2[30],str3[30]; gets( str2 ); gets( str3 ); same_str( str1, str2, str3 ); printf("/n%s/n",原创 2011-04-27 14:23:00 · 6648 阅读 · 1 评论 -
中空的菱形
<br />#include <stdio.h>void main(){ int i,j,k; for (i=1; i<=4; i++) { for (j=3;j>=i;j--) printf(" "); printf("*"); for (k=1; k<=(i-1)*2-1; k++) printf(" "); if (i != 1) printf("*"); printf("/n"); }原创 2011-04-07 22:17:00 · 951 阅读 · 0 评论 -
找二维数组鞍点
<br />#include <stdio.h>void main(){ int a[4][5],i,j,max,min,k,n; for (i=0; i<4; i++) for (j=0; j<5; j++) scanf("%d",&a[i][j]); for (i=0; i<4; i++) { max = a[i][0]; for (j=0; j<5; j++) { if (max<a[i][j]) max原创 2011-04-06 17:31:00 · 649 阅读 · 0 评论 -
输出时一年中第几天(结构体)
<br />#include <stdio.h><br />struct date <br /> {<br /> int year;<br /> int month;<br /> int day;<br /> }date1;<br />void main()<br />{<br /> int run(int year, int month, int day);<br /> <br /> int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},day=0,r,原创 2011-03-22 21:17:00 · 721 阅读 · 0 评论 -
杨辉三角(经典)
<br />#include <stdio.h><br />void main()<br />{<br /> int i,j,a[10][10],k=10;<br /> <br /> for(i=0; i<10; i++)<br /> {<br /> for(j=0;j<k;j++)<br /> printf(" ");<br /> k--;<br /> <br /> for(j=0; j<=i; j++)<br /> {<br /> <br /> if(j==0||j==i)<br原创 2011-03-22 13:44:00 · 350 阅读 · 0 评论 -
杨辉三角
<br />#include <stdio.h><br />void main()<br />{<br /> int i,j,a[10][10];<br /> <br /> for(i=0; i<10; i++)<br /> {<br /> <br /> for(j=0; j<=i; j++)<br /> {<br /> if(j==0||j==i)<br /> {<br /> a[i][j]=1;<br /> printf("%4d",a[i][j]);<br /> }<br原创 2011-03-22 12:40:00 · 484 阅读 · 0 评论 -
学生问题
<br />#include <stdio.h><br />void main()<br />{<br /> void averge(int (*p)[5], int n);<br /> void search(int (*p)[5]);<br /> void good(int (*p)[5]);<br /> int (*p)[5],i,j,a[4][5],n=4;<br /> p=a;<br /> for(i=0;i<4;i++)<br /> for(j=0;j<5;j++)<br /> scanf原创 2011-03-21 22:34:00 · 863 阅读 · 0 评论 -
微软1 有一个整数数组,请求出两两之差绝对值最小的值
<br />#include <stdio.h>#include <math.h>#include <stdlib.h>void main(){ int *p; int min,ca,n,i,j; scanf("%d",&n); p = ( int * )malloc( n*sizeof( int ) ); if ( p == NULL ) { printf("分配内存失败/n"); exit( EXIT_FAILURE ); }原创 2011-05-10 21:03:00 · 1806 阅读 · 1 评论 -
输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换
#include void main(){void input(int *p, int n);void deal(int *p, int n);void output(int *p, int n);int a[10],*p,n=10;p = a;input(p,n);deal(p,n);output(p,n);}void input(int *p, int n){for (n=0; nscanf("%d",*(p+n));}void output(int *p, int n){ for (n=0; npr原创 2011-03-15 21:01:00 · 25409 阅读 · 3 评论 -
用指针(比较三个字符串的大小)
<br />#include <stdio.h><br />#include <string.h><br />void main()<br />{<br /> void sort(char *name[], int n);<br /> char str1[20],str2[20],str3[20],*name[3];<br /> int n;<br /> name[0] = str1;<br /> name[1] = str2;<br /> name[2] = str3; <br /> for (n=原创 2011-03-14 22:17:00 · 9220 阅读 · 1 评论 -
将一个字符串复制到另一个字符串
<br />#include <stdio.h><br />void main()<br />{<br /> char str1[100],str2[100];<br /> int i;<br /> scanf("%s",str1);<br /> scanf("%s",str2);<br /> for (i=0; str2[i] != '/0'; i++)<br /> str1[i] = str2[i];<br /> str1[i] = '/0';<br /> printf("%s/n%s/n原创 2011-03-14 16:22:00 · 8883 阅读 · 3 评论 -
用起泡法排十个数字
<br />#include <stdio.h><br />void main()<br />{<br /> void fun(int a[10]);<br /> int a[10];<br /> int i;<br /> for(i=0;i<10;i++)<br /> scanf("%d",&a[i]);<br /> fun(a);<br /> for(i=0;i<10;i++)<br /> printf("%d ",a[i]);<br /> printf("/n");<br />}<br />voi原创 2011-03-12 11:19:00 · 588 阅读 · 0 评论 -
字符串大小比较
<br />#include <stdio.h><br />#include <string.h><br />void main()<br />{<br />void sort(char (*p)[50]);<br />char str[10][50],(*p)[50];<br />int i;<br />p=str;<br />for (i=0; i<10; i++)<br />scanf("%s",p+i);<br />sort(p);<br />printf("--------------------原创 2011-03-23 18:58:00 · 539 阅读 · 0 评论 -
5*5的数组中,中间放最大的数,四角放小的数
<br />#include <stdio.h><br />void main()<br />{<br /> void sort(int *p);<br /> int *p,i,j,a[5][5];<br /> p=a;<br /> for(i=0; i<25; i++)<br /> scanf("%d",p+i);<br /> printf("/n/n");<br /> sort(p);<br /> for(i=0; i<5; i++)<br /> {<br /> for(j=0; j<5; j原创 2011-03-23 13:11:00 · 652 阅读 · 0 评论 -
将一个数插入到数组中
#include void main(){ int a[11],n,i,j,temp; for (i=0; ii; j--) { if (a[j-1]原创 2011-04-06 15:57:00 · 4450 阅读 · 0 评论 -
将链表的头变成链表的尾
<br />#include <stdio.h>#include <malloc.h>#define NULL 0#define LEN sizeof(struct student)struct student{ int num; float score; struct student *next;};int n=0;void main(){ void print(struct student *head); struct student *creat原创 2011-04-07 21:54:00 · 532 阅读 · 0 评论 -
学生数据。结构体
<br />#include <stdio.h><br />struct student<br />{<br /> int num;<br /> char name[10];<br /> int score[3];<br />}stu[10];<br />void main()<br />{<br /> int aver(struct student *p);<br /> void good(struct stuent *p);<br /> struct student *p;<br /> int i原创 2011-03-29 12:40:00 · 657 阅读 · 0 评论 -
月份
<br />#include <stdio.h><br />void main()<br />{<br /> char *month[]={"Junary","February","March","April","May","June","July","Auguest",<br /> "Setember","October","November","December"};<br /> int n;<br /> <br /> printf("输入月份:");<br /> scanf("%原创 2011-03-28 10:33:00 · 396 阅读 · 0 评论 -
相同长度字符串比较
<br />#include <stdio.h><br />#include <string.h><br />void main()<br />{<br /> void sort(char *p[10]);<br /> int i;<br /> char *p[10],str[10][50];<br /> for(i=0; i<10;i++)<br /> p[i]=str[i];<br /> for(i=0; i<10;i++)<br /> scanf("%s",p[i]);<br /> sort(p)原创 2011-03-23 21:59:00 · 619 阅读 · 0 评论 -
学生.结构体
<br />#include <stdio.h>struct student{ int num; char name[20]; int score[3];};void main(){ void print(struct student *p); struct student stu[5]; int i; for (i=0; i<5; i++) scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].score原创 2011-03-28 21:21:00 · 650 阅读 · 0 评论