第六天作业
这是第二题
#include <stdio.h> #include <string.h> int main() { char *s1A = "abc", *s1B = "abc"; char *s2A = "abcd", *s2B = "abcde"; puts("使用strcmp函数"); printf("s1A=%s、s1B=%s\n", s1A, s1B); if (strcmp(s1A, s1B) == 0) printf("s1A与s1B相同!\n"); else printf("s1A与s1B不同!\n"); putchar('\n'); printf("s2A=%s、s2B=%s\n", s2A, s2B); if (strcmp(s2A, s2B) == 0) printf("s2A与s2B相同!\n"); else printf("s2A与s2B不同!\n"); putchar('\n'); puts("使用自定义strCompar函数"); printf("s1A=%s、s1B=%s\n", s1A, s1B); if (strCompar(s1A, s1B) == 1) printf("s1A与s1B相同!\n"); else printf("s1A与s1B不同!\n"); putchar('\n'); printf("s2A=%s、s2B=%s\n", s2A, s2B); if (strCompar(s2A, s2B) == 1) printf("s2A与s2B相同!\n"); else printf("s2A与s2B不同!\n"); putchar('\n'); return 0; } /*两字符串相同返回1;不同返回0*/ int strCompar(char *s1, char *s2) { while (*s1 || *s2) { if (*s1++ != *s2++) return 0; } return 1; }
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 //int main() 6 //{ 7 // srand((unsigned)time(NULL)); 8 // for (int i = 0; i<4; i++) 9 // 10 // 11 // { 12 // 13 // printf("%d\n", rand() % 9); 14 // } 15 // 16 // 17 // 18 // return 0; 19 //} 20 21 22 23 24 // 25 //int main() 26 //{ 27 // srand(9); 28 // int i; 29 // for (i = 0; i < 4; i++) 30 // printf("%d", rand() % 9); 31 // return 0; 32 // } 33 //int main() 34 //{ 35 // srand(time(NULL)); 36 // int i; 37 // for (i = 0; i < 4; i++) 38 // printf("%d", rand() % 9); 39 // return 0; 40 //} 41 42 43 int main() 44 { 45 int x; 46 int num[10];//声明数组。 47 srand((unsigned)time(NULL)); 48 for (int i = 0; i<4; i++) 49 {//取6个不重复的整数放到数组num中。 50 leap:x = rand() % 10; //此处我将其改为0-9范围了。你可以改大。 51 for (int j = 0; j<i; j++)//用j<i来作循环条件,因为当i=0时,就可直接插入了;且此时下一个值还未插入。比如:i=4时,实际上,num中只有num[0].num[1]num[2]num[3]四个元素。 52 { 53 if (num[j] == x)// 此数组没声明。 54 { 55 //i=0; //此处不能改写i的值。如果你改了,就不会循环与数组中的数比较了。当然就可能出现重复的情况了。 56 goto leap; 57 }//if 58 }//for 59 num[i] = x;// 如果不等就插进数组num相应位置中。 60 printf("%d ", num[i]); //此处打印时,要空一格,否则数据都连在一起了。 61 }//for 62 printf("\n"); 63 }//main组没声明。