C语言编程小练习
2016-11-16 23:17
375 查看
1.输入一个字符串,计算字符串中子串出现的次数
2.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
#include <stdio.h> #include <string.h> #define MAX_SIZE 30 int main() { int len; int i; int j; int flag = 0; int count = 0; char str1[MAX_SIZE]; char str2[MAX_SIZE]; char str_temp[MAX_SIZE]; printf("Please input a string:\n"); scanf("%s",str1); printf("Please input another string:\n"); scanf("%s",str2); len = strlen(str2); for(i = 0; str1[i] != '\0'; i++) { for(j = 0; j < len; j++) { str_temp[j] = str1[i + j]; } if(strcmp(str_temp, str2) == 0) { count++; } } printf("\nThe number is:%d\n",count); return 0; }
2.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
#include <stdio.h> #define MAX_SIZE 1024 int main() { int i; int num; int count = 0; int temp; int a[MAX_SIZE] = {0}; printf("Please input n:"); scanf("%d",&num); temp = num; for(i = 0; i < num; i++) { a[i] = i+1; } i = 0; while(num > 1) { if(a[i] != 0) { count++; } if(count == 3) { a[i] = 0; num--; count = 0; } i++; if(i == temp) //如何做到循环遍历这个数组,当i到末尾的时候再将它置为0,就又到了数组开头。 { i = 0; } } for(i = 0; i < temp; i++) { if(a[i] != 0) { printf("the result is:%d\n",a[i]); break; } } return 0; }
相关文章推荐
- C语言编程练习(通过指针调换输入数字)
- ubuntu下用Eclipse完成C语言编程练习
- C语言编程(练习3:分支和跳转 )
- C语言编程(练习2:函数 )
- C语言编程(练习1:函数 )
- C语言:编程练习参考程序
- C语言编程(练习3:数组与指针)
- C语言编程(练习1:分支和跳转 )
- C语言编程(练习7:循环,三大循环结构 )
- C语言编程(练习1:数组和指针)
- C语言编程练习:通讯录
- c语言编程练习——2014/7/26——数组
- ubuntu下用Eclipse完成C语言编程练习
- C语言编程(练习2:分支和跳转 )
- C语言编程(练习4:循环,三大循环结构 )
- C语言:指针的三道编程练习
- C语言编程小练习
- C语言编程(练习1:循环,三大循环结构 )
- C语言编程(练习3:字符输入和输出 )
- C语言编程(练习2:数组和指针)