程序设计导引及在线实践
蜡笔大龙猫
这个作者很懒,什么都没留下…
展开
-
第8章例题--称硬币--2692
#include #include #include #include #include #include #include #include char left[3][7],right[3][7],state[3][7];bool isLight(char x) //判断硬币x是否为轻{ int i; for( i = 0 ; i < 3 ; i ++ ) {原创 2011-12-16 09:48:57 · 695 阅读 · 0 评论 -
4.3例题--487-3279--2974
#include #include #include int compare(const void * elem1 , const void * elem2){ return (strcmp((char * )elem1 , (char * )elem2 ));} int main(int argc, char *argv[]){ char tmp[80], tel原创 2011-11-07 15:36:08 · 554 阅读 · 0 评论 -
第3章练习题--4--八进制小数--2765
水过水过……#include #include #include int main(int argc, char *argv[]){ char octal[17]; double decimal; int i; while(scanf("%s",octal)!=EOF) { decimal = 0.0; for(原创 2011-11-06 22:12:08 · 840 阅读 · 0 评论 -
4.2例题--统计字符数--2742
#include #include int main(int argc, char *argv[]){ int ch[27], n, i, max, maxpos; char s[1001]; scanf("%d",&n); while(n--) { for( i=0 ; i<26 ; i++ )ch[i]=0;原创 2011-11-07 10:56:58 · 648 阅读 · 0 评论 -
3.2例题--skew数--2973
#include #include #include int main(int argc, char *argv[]){ int l, base[32], sum; char skew[32]; int i; base[0] = 1; for( i=1 ; i<31 ; i++ )base[i] = 2*base[i-1]+1; while原创 2011-11-04 22:53:55 · 525 阅读 · 0 评论 -
2.4例题--填词--2801
#include #include int main(int argc, char *argv[]){ int N, M, P, ch[26]; char tmp[200]; int i, j; scanf("%d %d %d",&N,&M,&P); for( i=0 ; i<26 ; i++)ch[i]=0; for( i=0 ; i<N ; i++) {原创 2011-11-04 22:49:31 · 472 阅读 · 0 评论 -
第3章练习题--2--八进制到十进制--2735
#include #include #include int main(int argc, char *argv[]){ int sum, len, i; char a[6]; scanf("%s",a); sum = 0; len = strlen(a); for( i=0 ; i<len ; i++) {原创 2011-11-04 22:56:16 · 614 阅读 · 0 评论 -
第3章练习题--1--十进制到八进制--2734
#include #include int main(int argc, char *argv[]){ int a, num8[10]; int k; scanf("%d",&a); k=0; while(a!=0) { num8[k++] = a%8 ; a=a/8; } k--; while(k>=0) { p原创 2011-11-04 22:55:13 · 552 阅读 · 0 评论 -
2.3例题--校门外的树--2808
#include #include int main(int argc, char *argv[]){ int L, M, begin, end, count, tree[10002]; int i, j; scanf("%d %d",&L,&M); for( i=0 ; i<=L ; i++ ) { tree[i] = 1; } for( i=0原创 2011-11-04 22:48:35 · 587 阅读 · 0 评论 -
第3章练习题--3--二进制转换为十六进制--2798
#include #include #include int main(int argc, char *argv[]){ int n, tmp; char a[10001],b[10001]; int i,k; scanf("%d",&n); while(n--) { scanf("%s",a); k =原创 2011-11-04 22:57:25 · 1922 阅读 · 0 评论 -
3.1例题--确定进制--2972
#include #include #includelong kToTen(char* x,int k){ int result=0; int len = strlen(x); int i; for( i=0 ; i<len ; i++) { if((x[i]-'0')>=k)return -1; result *原创 2011-11-04 22:52:49 · 535 阅读 · 0 评论 -
4.4例题--子串--2744
#include #include #include char str[101][101];char minStr[101];int n;char* strrev(char* x){ int i, n; char tmp; n = strlen(x); for( i = 0 ; i < n/2 ; i++ ) {原创 2011-11-08 11:54:14 · 721 阅读 · 1 评论 -
第6章练习题--2--数根--2764
#include #include #include #include #include #include #include #include using namespace std;int main(){ char num[1005]; int i, n, sum; while( scanf("%s",num) && strcmp(num,"0")!=0 )原创 2011-11-29 15:23:47 · 713 阅读 · 0 评论 -
第8章例题--生理周期--2977
#include #include #include #include #include #include #include #include using namespace std;int main(){ int p,e,i,d; int num, j; num = 0 ; while(scanf("%d %d %d %d",&p,&e,&i,&d) &&原创 2011-12-15 15:10:46 · 1079 阅读 · 0 评论 -
第7章例题--2981--大整数加法
#include #include #include #include #include #include #include #include using namespace std;const int maxn = 1000;struct bign{ int len, s[maxn]; //s是逆序存储 bign(){ m原创 2011-12-13 16:37:59 · 610 阅读 · 0 评论 -
第6章练习题--3--武林--2785
#include #include #include #include #include #include #include #include using namespace std;typedef struct Hero{ int x; int y; int a; int b; int c; bool live; bool dir;//正向为true,反向为原创 2011-12-01 20:18:43 · 1644 阅读 · 1 评论 -
第6章练习题--4--循环数--2952
#include #include #include #include //using namespace std;int main(){ char s[65], a[65], b[125]; int len, i, k; bool flag ; memset( a , 0 , sizeof(char)*65 ); memset( b , 0 , sizeof(char原创 2011-12-02 10:58:10 · 1785 阅读 · 0 评论 -
第4章练习题--6--词典--2804
#include #include #include typedef struct Dic{ char el[11]; char fl[11];}Dic;Dic dic[100001];int q_cmp( const void *a ,const void *b){ return (strcmp( (*(Dic *)a).fl, (*(Dic *)b).原创 2011-11-11 10:10:37 · 1107 阅读 · 0 评论 -
第4章练习题--5--古代密码--2820
替换方法:不管怎样的替换规则,一个字母替换成另一个字母,出现的次数并不会改变;排列方法:只改变字母出现的顺序,次数也不会改变所以只需要比较两个字符串中字母的频率排序是不是一样就可以了。#include #include #include int compare(const void * elem1 , const void * elem2){ return (str原创 2011-11-09 17:26:35 · 802 阅读 · 0 评论 -
第4章练习题--2--All in All--2976
#include #include #include int main(int argc, char *argv[]){ char s[100001], t[100001]; int i, j, k, n; while(scanf("%s %s",s,t)!=EOF) { k = 0 ; n = strlen(t) ;原创 2011-11-09 14:03:13 · 661 阅读 · 0 评论 -
第4章练习题--4--W密码--2819
#include #include #include int main(int argc, char *argv[]){ int k1, k2, k3, n1, n2, n3; char s[1000],d[1000]; int s1[500],s2[500],s3[500]; int i; while( scanf("%d %d %d",&k1,&k2,&k3)原创 2011-11-09 16:12:37 · 894 阅读 · 0 评论 -
第4章练习题--1--字符串判等--2743
#include #include #include int main(int argc, char *argv[]){ int n, i, k; char s1[101], s2[101], d1[101], d2[101]; scanf("%d",&n); while(n--) { getchar();原创 2011-11-09 11:08:52 · 1528 阅读 · 0 评论 -
4.5例题--Caesar密码--2975
#include #include #include int main(int argc, char *argv[]){ char tmp[12], message[201]; char plain[27] = "VWXYZABCDEFGHIJKLMNOPQRSTU"; int i; while( gets(tmp) && strcmp(tmp,"START")=原创 2011-11-08 16:42:45 · 632 阅读 · 0 评论 -
第6章练习题--1--宇航员--1835
本题思路:采用变量f , l , u 表示forward、left、up三个方向,f 可以取值0,3,l 可以取值1,4,u 取值 2,5 。当宇航员的绝对方向发生变化时,三个变量的变化规律如下所示 forwardleftupforward不变不变不变back - forward - left不变l原创 2011-11-24 14:42:35 · 687 阅读 · 0 评论 -
6.4例题--排列--1833
这道题用来两种解法:一种是书上讲到的,寻找下一个 数列的规律解决,另一种方法是用C++标准模板库函数next_permutation()函数,直接得到下一个排列。#include #include #include #include #include #include #include #include using namespace std;int MyCompar原创 2011-11-23 11:12:48 · 621 阅读 · 0 评论 -
6.2例题--摘花生--2950
#include #include #include #include #include #include #include #include using namespace std;int nut[2501][3];void q_sort( int l, int r){ if( l>= r) return; int i,j,x0,x1,x2; i = l; j原创 2011-11-22 16:26:45 · 1958 阅读 · 0 评论 -
5.2例题--细菌繁殖--2712
#include #include #include int main(int argc, char *argv[]){ int n, month1, day1, month2, day2, days, i; int month[12]={31,28,31,30,31,30,31,31,30,31,30,31}; long bac1 ; scanf("%d",&n)原创 2011-11-17 16:41:33 · 1478 阅读 · 0 评论 -
第4章练习题--8--浮点数格式--2799
这道题太坑爹了,排列!=排序!!!#include #include #include #include #include #include #include #include using namespace std;int main(){ int maxnum , n , i , j , k ; char str[10001][51] ; sca原创 2011-11-16 21:44:11 · 1019 阅读 · 0 评论 -
第2章练习题--7--谁拿了最多奖学金--2715
#include #include #includestruct Student{ char sName[20]; int avgScore; int evaScore; char leader; char west; int paperNum; int totalScholar;};in原创 2011-10-28 16:36:49 · 812 阅读 · 0 评论 -
第2章练习题--5--肿瘤检测--2677
#include #include int main(int argc, char *argv[]){ int n,temp[101][101],area,cir; int i,j; area = cir = 0; scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&temp[i原创 2011-10-28 14:27:21 · 931 阅读 · 0 评论 -
第2章练习题--4--肿瘤面积--2713
方法一:存储所有像素,数个数,笨鸟的方法#include #include int temp[1001][1001];int main(int argc, char *argv[]){ int n,x,y,beginx,beginy,endx,endy; int i,j; scanf("%d",&n); for(i=0 ; i<n ; i++) {原创 2011-10-28 14:01:48 · 1229 阅读 · 0 评论 -
第2章练习题--2--数字求和--2796
#include #include int main(int argc, char *argv[]){ int a,temp,sum; int i; sum = 0; scanf("%d",&a); for(i=0 ; i<5 ; i++) { scanf("%d",&temp); if(temp<a)sum+=temp; } pr原创 2011-10-27 22:06:28 · 463 阅读 · 0 评论 -
第2章练习题--3--两倍--2807
#include #include int main(int argc, char *argv[]){ int temp,n[16],res; int k,i,j; while(scanf("%d",&temp)&&temp!=-1) { k = res = 0; n[k++]=temp; while(scanf("%d",&temp)&原创 2011-10-27 23:06:39 · 675 阅读 · 0 评论 -
第2章练习题--1--平均年龄--2714
#include #include int main(int argc, char *argv[]){ int n,temp,sum; int i; sum = 0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&temp); sum+=tem原创 2011-10-27 21:32:29 · 563 阅读 · 0 评论 -
5.3例题--日历问题--2964
#include #include int leap(int y){ if( y%4!=0 || (y%100==0 && y%400!=0 ))return 0; else return 1;}int main(int argc, char *argv[]){ int days, w, i, j; char week[7][10] = {"Saturday原创 2011-11-17 17:17:49 · 554 阅读 · 0 评论 -
5.5例题--时区间时间的转换
#include #include #include int main(int argc, char *argv[]){ int n; char zone[32][5] = { "UTC","GMT","BST","IST","WET","WEST","CET","CEST", "EET","EEST","MSK","MSD","AST","ADT","原创 2011-11-17 23:11:20 · 1323 阅读 · 0 评论 -
6.1例题--约瑟夫问题--2746
约瑟夫环问题有三种常见的解决方法,一是数组模拟,二是链表模拟,三是运用数学算法解决(不需要输出数列的情况下)#include #include #include #include #include #include #include #include using namespace std;void josephus1(int n, int m)//数组模拟实现{原创 2011-11-22 13:36:32 · 688 阅读 · 0 评论 -
2.2例题--棋盘上的距离--1657
#include #include #includeint main(int argc, char *argv[]){ int t, x, y, king, queen, car, elg; char begin[6],end[6]; scanf("%d",&t); while(t--) { scanf("%s %s",b原创 2011-11-01 17:49:02 · 724 阅读 · 0 评论 -
2.1例题--鸡兔同笼--2750
#include #include int main(int argc, char *argv[]){ int n, a, min, max; scanf("%d",&n); while(n--) { min = max = 0; scanf("%d",&a); if ( a%2 != 0) { printf("0 0\原创 2011-11-01 16:47:24 · 630 阅读 · 0 评论 -
第2章练习题--10--密码--2818
#include #include #includeint main(int argc, char *argv[]){ int n,k,plain[202],times[202],count,tmp; int i,j; char capher[202],plainText[202],temp[204]; //不加这个会出错 for(i=原创 2011-10-31 10:11:04 · 649 阅读 · 0 评论