我认为用一个数组完成这个算法更好理解。
#include<stdio.h> int main(){ int count=0,//记录下船的人数 ,到15就终止程序 a[30]={0},//储存30人信息,0代表在船上,1代表下船了 i=0,//循环索引 c=0;// 记录报数号码,到9就清零,由下一位重新报数 while(1) { if(a[i]==0)c++;//记录报数号码 if(c==9){ count++;//下船人数加一 a[i]=1; //标记这个人下船了 printf("第%d号下船了。\n",i+1); c=0;//到9就清零,由下一位从0重新报数 } if(count==15)break;//下船的人数到15就终止程序 i++;//分析下一个人 if(i==30)i=0; //将数组变成一个圈,循环往复 } return 0; }
在两种不同对齐方式下,计算 sizeof(struct)。
#include "stdio.h" struct { int i; char j; }s1; #pragma pack(1) struct { int i; char j; }s2; int main(void) { int size_s1; int size_s2; size_s1 = sizeof(s1); size_s2 = sizeof(s2); printf(" 默认对齐方式下size_s1 = %d\n",size_s1); printf(" 按字节对齐方式下size_s2 = %d\n",size_s2); }
输出结果为:
默认对齐方式下size_s1 = 8 按字节对齐方式下size_s2 = 5
指针方法:
#include <stdio.h> int main() { char str1[100], str2[100], *p = str1,n = 0; printf("请输入第一个字符串:"); scanf("%s", str1); printf("请输入第二个字符串:"); scanf("%s", str2); while (*p++ != '\0');/*移动指针到str1尾*/ --p;//回退一个单元,以便覆盖str1末的'\0p;//回退一个单元,以便覆盖str1末的'\0' while (str2[n] != '\0') { *p++ = str2[n];//将str2接到str1末 ++n; }; *p = '\0';//拼接完成,手动为str1末添上结束标记 printf("结果为:\n%s\n\n",str1); return 0; }
参考方法:
#include <stdio.h> #include <string.h> int main() { char s1[100], s2[100]; printf("输入第一个字符串: "); scanf("%s", s1); printf("输入第二个字符串: "); scanf("%s", s2); int len1 = strlen(s1); int len2 = strlen(s2); //printf("%d %d", len1, len2); for (int i = 0; i <= len2; i++) { s1[i + len1] = s2[i]; } printf("%s\n", s1); // system("pause"); return 0; }
#include <stdio.h> #include <string.h> int main() { char line[100]; int i,j,len; printf("输入一个字符串: "); scanf("%s",line); len = strlen(line); for(i=0;i<len+1;i++) { if((line[i]>='a'&&line[i]<='z') || (line[i]>='A'&&line[i]<='Z')) continue; for(j=i;j<len;j++) { line[j] = line[j+1]; } len--; i--; } //line[len]='\0'; printf("%s\n",line); return 0; }
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1625c-examples-joseph-life-dead-game
我认为用一个数组完成这个算法更好理解。
1624c-examples-structure-store-information
在两种不同对齐方式下,计算 sizeof(struct)。
输出结果为:
1623c-examples-concatenate-string
指针方法:
1622c-examples-concatenate-string
参考方法:
1621c-examples-remove-characters-string
参考方法: