自己编写的一些小程序

来源:互联网 发布:施明德 知乎 编辑:程序博客网 时间:2024/05/16 17:38

自己编写的一些小程序,题目大多数来源于网上课程,用notepad++编码时中文出现了乱码,但都是经过编译运行验证的,编程思路基本上是可行的。每天进步一点点。

/* #include<stdio.h>int main(){int a, b; scanf("%d%d", &a, &b); printf("a+b=%d\n", a+b);printf("a-b=%d\n", a-b);printf("a*b=%d\n", a*b);if(b==0) printf("a/b error, divider is 0\n");else printf("a/b =%d\n", a/b);printf("a%%b=%d\n", a%b);return 0;} */// #include <stdio.h>// #include "ctype.h" // int main ()// {  // int y, m, d, c, w;  // char str[10];   // int value;  // int len;    // printf ("请输入年月日:如�?0160817\n");  // scanf ("%d", &value);    // sprintf(str, "%d", value);  // len = strlen(str);  // printf("%d\n", len);   // d=(int)(str[len-2] - '0') * 10 + (int)(str[len-1] - '0');    // m=((int)(str[len-4] - '0')) * 10 + (int)(str[len-3] - '0');  // y=(int) value / 10000;   // printf("�?= %d\t�?= %d\t�?= %d\t\n", y, m, d);  // if (m ==1 || m == 2) { //判断月份是否�?�?    // y--;    // m += 12;  // }  // c = y / 100;  // y = y - c * 100;  // w = (c / 4) - 2 * c + (y + y / 4) + (13 * (m + 1) / 5) + d - 1;//蔡勒公式  // while (w < 0) w += 7;  // w %= 7;  // switch (w)    // {    // case 0: printf("星期�?);break;    // case 1: printf("星期一");break;    // case 2: printf("星期�?);break;    // case 3: printf("星期�?);break;    // case 4: printf("星期�?);break;    // case 5: printf("星期�?);break;    // case 6: printf("星期�?);break;         // printf("\n");    // }  // return 0;// } /* #include <stdio.h>#define uchar unsigned char uchar *weeks[7]={"Monday   ","Tuesday  ","Wednesday","Thursday ","Friday   ","Saturday ","Sunday   "};uchar const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; uchar Get_Week(int year,int month,int day){int  temp2;uchar yearH,yearL;yearH=year/100;yearL=year%100;  if (yearH>19)yearL+=100;temp2=yearL+yearL/4;temp2=temp2%7; temp2=temp2+day+table_week[month-1];if (yearL%4==0&&month<3)temp2--;return(temp2%7);}void main(){   char str[20];    int i,year=0,month=0,day=0,week=0;   printf("\n\n\t请按下面格式输入年月日:�?20160820\n");   printf("\n\n\t请输入年月日�?);   scanf("%s",str); //  printf("%s\n",str);   for(i=0;i<4;i++)   {  year *=10;     year +=(str[i]-48);    }   for(i=4;i<6;i++)   {     month *=10;     month +=(str[i]-48);        }   for(i=6;i<8;i++)   {     day *=10;     day +=(str[i]-48);        }   printf("year=%d,month=%d,day=%d\n",year,month,day);   week=Get_Week(year,month,day);   printf("week=%s\n",weeks[week-1]);} *//* #include "stdio.h"#include <math.h>   int main() { float x; float y; float Result;  printf("please input x and y:\n"); scanf("%f,%f", &x, &y); Result = pow(x, 2) + pow(y, 2);  printf("Result=%.2f\n", Result);  return 0; } *//*  #include "stdio.h" #include "math.h"  int main() { int x; int y; int a, b; int x1, x2, x3, x4; int result;  printf("Input x:\n"); scanf("%d", &x); if(x < 0) x= fabs(x); else x = x;   x1 = x / 1000;  x2 = (x / 100) %10;  x3 = ((x / 10) % 100)% 10;  x4 = ((x % 1000) % 100) % 10;   y = x4 * 1000 + x3 * 100 + x2 * 10 + x1; printf("y=%d\n", y);  a = x4 * 10 + x3; b = x2 * 10 + x1; printf("a=%d,b=%d\n", a, b);  printf("result=%d\n", a * a + b * b);  return 0; } *//* #include "stdio.h" int main(){char name[3];char *ptr = name;int i;printf("Input your English name:\n");  scanf("%c%c%c", ptr, ptr+1, ptr+2);if((*ptr >= 'a') && (*ptr <= 'z'))*ptr = *ptr - 32;  printf("%c%c%c\n", *ptr, *(ptr+1), *(ptr+2));for(i=0; i< 3; i++){if(i ==0)printf("%c:%d\n",(char)(*ptr + 32), *ptr-'A'+1);elseprintf("%c:%d\n",(char)*(ptr+i), *(ptr+i)-'a'+1); }  return 0;} */// #include "stdio.h"// #include "math.h" // int main()// {// int weight, height;// float t;// printf("Input weight, height:\n" );// scanf( "%d,%d", &weight, &height);// printf("weight=%d\n", weight * 2);// printf("height=%.2f\n", (float)height / 100.0);// t = (float)(weight * 10000) / ((float)(height * height));// printf("t=%.2f\n", t);// return 0;// }    // #include <stdio.h>    // int main()    // {             // float    data1, data2;                         // char   op;             // printf("Please enter the expression:");             // scanf("%f  %c%f", &data1, &op, &data2); %c前有一个空�?             // switch (op)              // {                       // case '+':                                // printf("%f + %f = %f\n", data1, data2, data1 + data2);                                 // break;                       // case '-':                                // printf("%f - %f = %f\n", data1, data2, data1 - data2);                                // break;                       // case '*':                                // printf("%f * %f = %f\n", data1, data2, data1 * data2);                                 // break;                       // case '/':                                // printf("%f/%f = %f\n", data1, data2,data1/data2);                                 // break;                       // default:                                 // printf("Invalid operator!\n");             // }            // return 0;    // }// int main()// {// int n; // int x1, x2;// int sum, sub, multi, mod;// float dev;// printf("Please input n:\n");// scanf("%d", &n); // x1 = n / 100;// x2 = n % 100;// printf("%d,%d\n", x1, x2);// sum = x1 + x2;// sub = x1 - x2;// multi = x1 * x2;// printf("sum=%d,sub=%d,multi=%d\n", sum, sub, multi);// if(x2 == 0)// {// printf("The second operater is zero!\n");// }// else // {// dev =(float) x1 / x2;// mod = x1 % x2;// printf("dev=%.2f,mod=%d\n", dev, mod);// }// return 0;// }/* #include "stdio.h"int waitfee(int time){int wfee;wfee = time / 5 * 2;return wfee;}int main(){float distance;int time;float fee = 8;printf("Input distance and time:");scanf("%f,%d", &distance, &time); if(distance > 3 && distance <= 10)fee = fee + (distance - 3) * 2;if(distance > 10)fee = fee + 7 * 2 + (distance - 10) * 3;fee = fee + waitfee(time);printf("fee = %.0f\n", fee);return 0;} *//* #include "stdio.h"int main(){int n;printf("Please enter the number:\n");scanf("%d", &n);if(n >= 0 && n <=9)printf("%d: 0-9\n",n);else if(n >= 10 && n <=99)printf("%d: 10-99\n",n);else if(n >= 100 && n <=999)printf("%d: 100-999\n",n);else if(n >= 1000 && n <=9999)printf("%d: 1000-9999\n",n);else printf("error!\n");return 0;} *//* #include "stdio.h"#include "math.h"int main(){float a,b,c;float s;float x1, x2;printf("Please enter the coefficients a,b,c:\n");scanf("%f,%f,%f", &a, &b, &c);if((s = b * b -4 * a *c) < 0)printf("error!\n");else {x1 = -b/(2*a)+sqrt(s)/(2*a);x2 = -b/(2*a)-sqrt(s)/(2*a); printf("x1=%7.4f, x2=%7.4f\n", x1, x2);}return 0;} *//* #include "stdio.h"int main(){int a, b, c;scanf("%d %d %d", &a,&b,&c);if(a+b <= c || b+c<=a || a+c <= b)printf("non-triangle\n");else if(a==b || a==c || b==c){if(a!=b || b!=c || a!=c)printf("isoceles triangle\n");else if(a==b && a==c && b==c)printf("equilateral triangle\n");}else printf("triangle\n");return 0;} *//* #include "stdio.h"int main(){int a, b, c;scanf("%d %d %d", &a,&b,&c);if(a+b <= c || b+c<=a || a+c <= b)printf("non-triangle.\n");else if(a==b || a==c || b==c){if(a!=b || b!=c || a!=c)printf("isoceles triangle.\n");else if(a==b && a==c && b==c)printf("equilateral triangle.\n");}else printf("triangle.\n");return 0;} *//* #include <iostream>  using namespace std;  int main()  {      int data[2][3] = {1,2,3,4,5,6};      int (*p)[3] = data;      int (**def)[3] = &p;  //p指向数组的行地址,def指向p的地址cout << **def << endl;        cout << *(*(p+1)+1) << endl;        return 0;  }  *//* #include "stdio.h" int main(){int hour,minute;float hour_degree,minute_degree,degree;scanf("%d%d",&hour,&minute);hour_degree = (hour%12+(float)minute/60)*30; minute_degree = (float)minute/60*360.0;// if(hour_degree < minute_degree) // degree = minute_degree - hour_degree;// else // degree = hour_degree - minute_degree;degree = (hour_degree < minute_degree) ? (minute_degree - hour_degree) : (hour_degree - minute_degree);printf("At %d:%d the angle is %.1f degrees.\n", hour, minute, degree); return 0;}  *//* #include <stdio.h>int main(){int a,b,n;scanf("%d",&a);b=(a-1720)%28;switch(b){case 0:n=14;break;case 1:n=13;break;case 2:n=12;break;case 3:n=11;break;case 4:n=9;break;case 5:n=8;break;case 6:n=14;break;case 7:n=13;break;case 8:n=11;break;case 9:n=10;break;case 10:n=9;break;case 11:n=8;break;case 12:n=13;break;case 13:n=12;break;case 14:n=11;break;case 15:n=10;break;case 16:n=8;break;case 17:n=14;break;case 18:n=13;break;case 19:n=12;break;case 20:n=10;break;case 21:n=9;break;case 22:n=8;break;case 23:n=14;break;case 24:n=12;break;case 25:n=11;break;case 26:n=10;break;case 27:n=9;break;}printf("%d\n",n);return 0;} *//* #include <stdio.h>#include "ctype.h" int main (){  int year, month, day, c, w;       scanf("%d %d %d",&year, &month, &day);        if(year<=0 || month<=0 || day<=0 )   printf("date error!\n");   else if(month>12)   printf("month is error.\n");   else if(day > 31)printf("day is error.\n");   else {  if (month ==1 || month == 2) //判断月份是否�?�?  {     year--;    month += 12;  }  c = year / 100;  year = year - c * 100;  w = (c / 4) - 2 * c + (year + year / 4) + (13 * (month + 1) / 5) + day - 1;   while (w < 0) w += 7;  w %= 7;   printf("%d\n", w);}  return 0;} *//* #include<stdio.h>  int main(){    int a,n,i;long long res=1;    scanf("%d %d",&a,&n); for(i=0;i<n;i++)    {        res = res * a;    } res  %= 1000;    printf("The last 3 numbers is %d.\n", res);     return 0;} *//* #include<stdio.h> int main(){int i;char password; printf("Input your password:\n");for(i = 1; i <= 6; i++){ scanf("%c", &password);  if(password>='0' && password<='9' )printf("%c, you have enter %d-bits number\n", password, i);else { if((password<='0' || password>='9') && password != '\n')printf("error\n");i--; } }return 0;} *//* #include<stdio.h>  int main(){int number; int res=1;int i=0,cnt=1;printf("Please enter the number:\n");scanf("%d", &number);while(res){cnt = cnt * 10;res = number / cnt;i++;}printf("%d: %d bits\n", number, i); return 0;} *//* #include<stdio.h> int main(){int number;int i=0;int odd = 0,even = 0;printf("Please enter the number:\n");while(number != (-1)){scanf("%d", &number); if(number == -1){if(i==0) printf("over!\n");break;}if(number % 2){odd++;printf("%d:odd\n", number);i=1;}else {even++;i=1;printf("%d:even\n", number);}}printf("The total number of odd is %d\n", odd);printf("The total number of even is %d\n", even);return 0;} *//* #include<stdio.h>int main(){int count , i=0;float curr_h = 100.0;//当前高度float sum = 100.0, n_high;//共经过了多少米,第n次反弹高�?printf("Input:\n");scanf("%d", &count);printf("%d times:\n", count);while(i < count){curr_h = curr_h / 2;n_high = curr_h;sum += n_high * 2;i++;if(i == count)sum = sum - n_high - curr_h;}printf("%.3f\n", sum);printf("%.3f\n", n_high);return 0;} */ /* #include<stdio.h>         int main()       {           int score;           char grade;   int flag = 0;           printf("Please input score:\n");     flag = scanf("%d", &score);while (fflush(stdin),flag != 1 || score < 0 || score > 100){                 printf("Input error!\n");printf("Please input score:\n"); flag = scanf("%d", &score);if(score >= 0 && score <= 100 && flag ==1) break;                }if (score >= 90)                  grade = 'A';            else if (score >= 80)                 grade = 'B';               else if (score >= 70)                 grade = 'C';              else if (score >= 60)                 grade = 'D';             else                  grade = 'E';             printf("grade: %c\n", grade);            return 0;    } *//* #include "stdio.h" #include "math.h"int main(void){int a, n;int i, j; long long sum = 0;printf("Input a,n:\n");scanf("%d,%d", &a, &n); for(i=0; i < n; i++){ for(j=0; j<=i; j++){sum = pow(10, j) * a + sum; printf("sum=%ld\n", sum);}}printf("sum=%ld\n", sum);return 0;} *//* #include "stdio.h" int main(void){int n;int i=0, j=0, k=0; printf("Input n(27<n<=77):\n");scanf("%d", &n);for(i=0;i<=36;i++){for(j=0;j<=36;j++){for(k=0;k<=36;k+=2){if(((i*4 + j*3 + k/2) == n) && (i+j+k == 36)){printf("men=%d,women=%d,children=%d\n", i, j, k);continue;}} } }return 0;} *//* #include "stdio.h" int main(void){int year, month, day;printf("Input year,month:\n");scanf("%d,%d", &year, &month);if(month>12 || month <=0)printf("Input error!\n");switch(month){case 1:day = 31;break;case 2:if(year % 4 == 0)day = 29;else day = 28;break;case 3:day = 31;break;case 4:day = 30;break;case 5:day = 31;break;case 6:day = 30;break;case 7:day = 31;break;case 8:day = 31;break;case 9:day = 30;break;case 10:day = 31;break;case 11:day = 30;break;case 12:day = 31;break;default: break;}switch(day){case 28 :printf("28 days\n"); break;case 29 :printf("29 days\n"); break;case 30 :printf("30 days\n"); break;case 31 :printf("31 days\n"); break;default : break;}return 0;} *//* #include "stdio.h" int main(void){int N;int num = 0;int a, b, c;//printf("Input N <= 5000 :\nN = ");scanf("%d\n", &N);for(c=1; c<=N; c++){for(b=1; b<=c; b++){for(a=1; a<=b; a++){if((c*c == a*a + b*b)) {num += 1;  }} }  }printf("%d\n", num);return 0;} *//* #include "stdio.h" #define NUM 3 typedef struct innum{int min;int max;}num;int main(void){int i, j;int inputnum;int counter = 0;int a, b, c, d;num num[NUM];for(i=0; i < NUM; i++){scanf("%d %d", &num[i].min, &num[i].max); if((num[i].min == 0 && num[i].max == 0)){inputnum = i+1;break;}} for(i=0; i < inputnum; i++){ if(num[i].min < 1000 || num[i].max > 9999){if((num[i].min == 0 && num[i].max == 0))continue;elseprintf("Error\n");}}for(i=0; i < inputnum; i++){counter = 0;for(j = num[i].min ; j < num[i].max; j++){a = j/1000;b = (j%1000)/100;c = (j/10)%100;d = j%10;//printf("%d %d %d %d\n", a, b, c, d);if(a != b && b != c && c != d && a != d && b != d && a !=c && (j%2 == 0)){counter += 1;printf("%d  ", j);continue;}} if(num[i].min >= 1000 && num[i].max <= 9999)printf("\ncounter=%d\n", counter);} return 0;} *//* #include "stdio.h"int main(void){int m, n;int i;int sum;scanf("%d\n", &n);for(i = 0; i < n; i++){sum += i; if(sum >= n && (sum-i) < n){m = i;break; }}printf("%d\n", m);return 0;} *//*  #include "stdio.h"  int main() { int i,j; int n;  int a=1;  scanf("%d",&n);  for(i=0; i<n*n; i++) { printf("  "); printf("%d", a++); if((i+1)%n==0)printf("\n"); } return 0; } *//* #include<stdio.h>main(){ int n=0,i=0,j=0;char c='\0';  scanf("%c%d",&c,&n); for(i=1;i<n+1;i++)  {   for(j=0;j<n-i;j++) printf(" ");   printf("%c",c+i-1);   for(j=1;i-1>0>0&&j<=2*i-3;j++) printf(" ");   if(i-1>0) printf("%c",c+i-1);   printf("\n");  } for(i=n-1;i>0;i--)  {   for(j=0;j<n-i;j++) printf(" ");   printf("%c",c+i-1);   for(j=1;i-1>0>0&&j<=2*i-3;j++) printf(" ");   if(i-1>0) printf("%c",c+i-1);   printf("\n");  } } *//* #include<stdio.h>int main(){int a,b,c,d,i1=0,i2=0,i3=0,i4=0,m=1,max,pflag=0;scanf("%d%d%d%d",&a,&b,&c,&d);for(;pflag==0;m++){pflag=1;for(i1=0;i1<=5;i1++)for(i2=0;i2<=5;i2++)for(i3=0;i3<=5;i3++)for(i4=0;i4<=5;i4++){if(i1+i2+i3+i4<=5){if(a*i1+b*i2+c*i3+d*i4==m){max=m;pflag=0;}}else break;}}printf("The max is %d.\n",max);return 0;} *//* #include "stdio.h"unsigned int ComputeAge(unsigned int n);void binary_to_ascii(unsigned int value);int main(){unsigned int n;scanf("%u", &n);binary_to_ascii(n);//printf("The person's age is %u\n", ComputeAge(n));return 0;}unsigned int ComputeAge(unsigned int n){if(n == 1)return 10;elsereturn ComputeAge(n-1) + 2;}void binary_to_ascii(unsigned int value){unsigned int quotient;quotient = value / 10;if(quotient != 0)binary_to_ascii(quotient);putchar(value % 10 + '0');putchar('\n');} *//* #include "stdio.h"int Gcd(int a, int b){if(a == b)return a;else if(a > b)return Gcd(a-b, b);else if(a < b)return Gcd(a, b-a);}int main(){int a, b;printf("Input a,b:");scanf("%d,%d", &a, &b);if(a<=0 || b<=0){printf("Input error!\n");return 0;}printf("%d\n", Gcd(a, b));return 0;} *//* #include "stdio.h"int mid(int a, int b, int c){int max, mid;if(a >= b)mid = a;else mid = b;if(c >= mid)return mid;else return c;} int main(){int a, b, c; scanf("%d%d%d", &a, &b, &c);printf("The result is %d\n", mid(a, b, c));return 0;} *//* #include "stdio.h"int main(){int n, XYZ, YZZ;int X, Y, Z;printf("Input n(n<1000):\n");scanf("%d", &n);for(X=0; X<10; X++)for(Y=0; Y<10; Y++)for(Z=0; Z<10; Z++){XYZ = X*100 + Y*10 + Z;YZZ = Y*100 + Z*10 + Z;if((XYZ + YZZ) == n){printf("X=%d,Y=%d,Z=%d\n", X, Y, Z);return 0; }}   printf("Invalid\n"); return 0;} *//*  #include "stdio.h" #define N 100  int main(void) { int i, j; char ch[N]="\0"; char chg;  scanf("%s", ch);   for(i=0; i<N; i++) { for(j=i+1; j<N; j++) { if(ch[i] <= ch[j]) { chg = ch[i]; ch[i] = ch[j]; ch[j] = chg; }  } }  puts(ch);  return 0; } *//* #include "stdio.h"#define N 100int main(void){int i=0, j=0, k=0;int n, m=0;int num[N];int square, tmp, res;scanf("%d", &n);if(n <= 3)for(i=1; i < n; i++)printf("%d\n", i);else if(n > 3)for(i=1; i < 4; i++)printf("%d\n", i);for(i=4; i<n; i++){m=0; square = i*i;res = square;while(res >= 10){tmp = res/10;num[m] = res % (tmp * 10);m++;res = tmp;} num[m] = res; if(m%2 == 0){j=0;while(j++ <= m/2)if(num[j] != num[m-j])break; if((j-1) != m/2) printf("%d\n", i);}else if(m%2 == 1){j=0;while(j++ <= ((m-1)/2))if(num[j] != num[m-j])break; if((j-1) == ((m-1)/2)) printf("%d\n", i);}}return 0;} *//* #include "stdio.h"int main(void){int K;int a1, a2, a3, a4, a5;int sub1, sub2, sub3;int i;scanf("%d", &K);for(i=10000; i<=30000; i++){a1 = i/10000;a2 = i/1000 % 10;a3 = i/100 % 10;a4 = (i%100) / 10;a5 = i%10;sub1 = a1*100 + a2*10 + a3;sub2 = a2*100 + a3*10 + a4;sub3 = a3*100 + a4*10 + a5;if((sub1%K == 0) && (sub2%K == 0) && (sub3%K == 0))printf("%d\n", i);} return 0;} *//* #include "stdio.h"#define N 10int main(void){int n;int i, j;int a[N][N];printf("Input n:");scanf("%d", &n);printf("Input %d*%d matrix:\n", n, n);for(i=0; i<n; i++){for(j=0; j<n; j++){scanf("%d", &a[i][j]); }}printf("The transposed matrix is:\n");for(i=0; i<n; i++){for(j=0; j<n; j++)printf("%4d", a[j][i]);printf("\n");}return 0;}  *//* #include "stdio.h"#define N 5int main(void){int i, j, k;int a[N][N];int sum[N*2+2] = {0};for(i=0; i<N; i++){for(j=0; j<N; j++)scanf("%d", &a[i][j]);}for(i=0; i<N; i++){ for(j=0; j<N; j++){sum[i] += a[i][j];sum[i+N] += a[j][i];if(i==j)sum[N*2] += a[i][j];if((i+j) == (N-1))sum[N*2+1] += a[i][j];} } for(i=0; i<N; i++){if((sum[i] != sum[i+1]) || (sum[i+N+1] != sum[i+N]) || (sum[i] != sum[i+N]) || (sum[i] != sum[N*2]) || (sum[i] != sum[N*2+1])){printf("It is not a magic square!\n");return 0;}else continue;}printf("It is a magic square!\n");for(i=0; i<N; i++){for(j=0; j<N; j++){printf("%4d", a[i][j]);}printf("\n");}return 0;} *//* #include "stdio.h"int main(void){int i, n;int sum=0;int a[12] = {1, 2, 0};printf("Input n(n<=12):\n");scanf("%d", &n);for(i=2; i<n; i++)a[i] = a[i-1] + a[i-2]; for(i=0; i<n; i++){ printf("%4d", a[i]);}printf("\nTotal=%d\n", a[n-1]);return 0;} *//* #include "stdio.h"int main(void){int i, j, k, m;for(k=1000; k<10000; k++){for(m=31; m<=100; m++){for(i=0; i<10; i++){for(j=0; j<10; j++){if((k == m*m) && (k== 1000*i + 100*i + 10*j + j))printf("k=%d,m=%d\n", k, m);}}}  }return 0;} *//* #include "stdio.h"#include "stdlib.h"int main(){int i, j; char *a[5];  //定义a为指针数组;char **ptr = a;//ptr指向指针数组的指�?for(i=0; i<5; i++){a[i] = (char *)malloc(10*sizeof(char));//分配内存空间,防止指针乱�?scanf("%s", a[i]); *(ptr+i) = a[i];//初始化指针指向指针数组的行首地址} printf("\n");for(i = 0; i < 5; i++){j = 0;printf("*ptr = %s\n", *(ptr+i));//各行元素printf("a[%d] = %u\n", i, ptr+i); //行首地址printf("a[%d] : \t", i);while((*(*(ptr+i)+j)) != '\0'){printf("%c ", *(*(ptr+i)+j));//打印各个字符j++;}printf("\n");}printf("\n");for(i = 0; i < 5; i++){printf("*a[%d] = %s\n", i, a[i]); //各行元素printf("address = %u\n", &a[i]);//行首地址  }for(i = 0; i < 5; i++){free(a[i]);}return 0;} */  /* #include "stdio.h"#include "stdlib.h"int main(){ char chr = '\0';int i=0;long int j=0;float m = 0.0;double n = 0.0;int array[10] = {0};int *p = &i;char *a[5];char (*ptr)[5] = NULL;//数组指针for(i=0; i<5; i++){a[i] = (char *)malloc(10*sizeof(char));    }printf("%d\n", sizeof(chr));printf("%d\n", sizeof(i));printf("%d\n", sizeof(j));printf("%d\n", sizeof(m));printf("%d\n", sizeof(n));printf("%d\n", sizeof(array));printf("%d\n", sizeof(p));printf("%d\n", sizeof(a));printf("%d\n", sizeof(ptr));return 0;} */ /* #include "stdio.h"#include "stdlib.h"int main(void){int i;char c; int *p = &i;char *cp = &c; scanf("%d %c", &i, &c);  printf("i=%d, c=%c\n", i, c);printf("\n");//i = (int) c;//*p = (int) (*cp - '0');//cp = (char *)p; p =(int *) cp;printf("i=%d, c=%c\n", i, c);printf("i=%c, c=%d\n", i, c); return 0;}  */ /* #include "stdio.h"#include "stdlib.h"int main(){int i, j; char *a[5];   char (*ptr)[5] = NULL;  for(i=0; i<5; i++){a[i] = (char *)malloc(10*sizeof(char));   scanf("%s", a[i]);  }   printf("\n");printf("%d\n", sizeof(a));printf("%d\n", sizeof(ptr));for(i=0; i<5; i++){ptr = a[i];printf("*ptr = %s\n", *ptr); printf("a[%d] = %u\n", i, &(*ptr));  } for(i = 0; i < 5; i++){free(a[i]);}return 0;}  *//* #include "stdio.h"#include "stdlib.h"int main(){int i, j; char *p = NULL; //字符指针,可以用来表示字符串,即指针指向字符串的首地址char *a[5];   //指针数组,数组元素为指针char **ptr = a; //指针的指针,指向指针数组的首地址,及数组中第0个指针的地址for(i=0; i<5; i++){a[i] = (char *)malloc(10*sizeof(char)); //指针数组分配动态内�?scanf("%s", a[i]); *(ptr+i) = a[i]; //指针指向每行首地址}printf("\n");  // for(i=0; i<5; i++)// { // printf("%s\n", *(ptr+i));//指向行的首地址// printf("%c\n", *(*(ptr+i)));//指向a[i][0]地址中的元素// }// p = *(ptr+3);//字符指针指向�?行首地址,即a[3]首地址// printf("\n%s\n", p);for(i=0; i<5; i++){ for(j=1; j<5; j++){ if(*(*(ptr+j)) >= *(*(ptr+j-1))){p = *(ptr+j-1);*(ptr+j-1) = *(ptr+j);*(ptr+j) = p;}}}printf("\n"); for(i=0; i<5; i++){ printf("%s\n", *(ptr+i));//指向行的首地址 }for(i = 0; i < 5; i++){free(a[i]);//}return 0;} *//* #include "stdio.h"#include "stdlib.h"#define N 10int main(void){int i, j;int n, m;int rm[N] = {0}, cm[N] = {0};int ra1[N], ca1[N], ra2[N], ca2[N];int a[N][N];scanf("%d %d", &n, &m);for(i=0; i<n; i++){for(j=0; j<m; j++){scanf("%d", &a[i][j]);}} // printf("\n");// for(i=0; i<n; i++)// {// for(j=0; j<m; j++)// {// printf("%d ", a[i][j]);// }// printf("\n");// }// printf("\n");for(i=0; i<n; i++)rm[i] = a[i][0];for(j=0; j<m; j++)cm[j] = a[0][j];for(i=0; i<n; i++)//第一次从行遍历二维数�?{for(j=0; j<m; j++){ if(rm[i] <= a[i][j]) {rm[i] = a[i][j];//保存行最大�?ra1[i] = i;//记录行下�?ca1[i] = j;//记录列下�?}} }for(i=0; i<m; i++)//第二次从列遍历二维数�?{for(j=0; j<n; j++){ if(cm[i] >= a[j][i]){cm[i] = a[j][i];//保存列最小�?ra2[i] = j;//记录行下�?ca2[i] = i;//记录列下�?}} }// for(i=0; i<n; i++)// {// printf("%d ", rm[i]);// printf("a[%d][%d]\n", ra1[i], ca1[i]);// }// printf("\n"); // for(j=0; j<m; j++)// {// printf("%d ", cm[j]);// printf("a[%d][%d]\n", ra2[j], ca2[j]);// }// printf("\n"); for(i=0; i<n; i++){ for(j=0; j<m; j++){if((rm[i] == cm[j]))if((ra1[i] == ra2[j]) && (ca1[i] == ca2[j])){printf("Point:a[%d][%d]==%d\n", ra1[i], ca2[j], rm[i]);return 0;}} }printf("No Point\n");return 0;} *//* #include "stdio.h"#include "stdlib.h"#include "string.h"#include "ctype.h"#define N 10#define LEN 20#define EXIST 1#define N_EXIST 0int main(void){int i, j;int n;int key=0, len = 0;int flag_lower, flag_upper, flag_num, flag_ext;char *a[N];char **ptr = a;scanf("%d", &n);for(i=0; i<n; i++){a[i] = (char *)malloc(sizeof(char) * LEN);scanf("%s", a[i]);*(ptr+i) = a[i];}  // printf("\n"); // for(i=0; i<n; i++)// {// len = 0;// for(j=0; j<strlen(*(ptr+i)); j++)// if(*(*(ptr+i)+j) != '\0')// {// len++;// printf("%c ", *(*(ptr+i)+j));// }// else continue;// printf("\nlen = %d\n", len);// }  // printf("\n");for(i=0; i<n; i++){ key = 0;//统计不同字符种类len = 0;//统计字符长度flag_lower=N_EXIST;//初始化各存在标志flag_upper=N_EXIST;flag_num = N_EXIST;flag_ext = N_EXIST;for(j=0; j<strlen(*(ptr+i)); j++) {if(*(*(ptr+i)+j) != '\0'){len++;if((isalnum((int)*(*(ptr+i)+j))))//是否为字母或数字{if(isdigit((int) *(*(ptr+i)+j) ))//是否为数�?{if(flag_num == N_EXIST){key++;flag_num = EXIST;}}if(islower((int) *(*(ptr+i)+j) ))//是否为小写字�?{if(flag_lower == N_EXIST){key++;flag_lower = EXIST;}} if(isupper((int) *(*(ptr+i)+j) ))//是否为大写字�?{if(flag_upper == N_EXIST){key++;flag_upper = EXIST;}}} else//否则为其他字�?{if(flag_ext == N_EXIST){key++;flag_ext = EXIST;}}}else continue;} if(len<6){ printf("Not Safe\n");}elseswitch(key){case 4 :case 3 : printf("Safe\n"); break; case 2 : printf("Medium Safe\n"); break; case 1 : printf("Not Safe\n"); break; default : break;}}for(i = 0; i < n; i++){free(a[i]);//}return 0;} */



0 0
原创粉丝点击