1.分数求和
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
int main()
{
int i = 0;
double sum = 0;
int flag = 1;
for(i=1;i<=100;i++)
{
sum +=flag*1.0/i;
flag=-flag;
}
printf("%lfn",sum);
return 0;
}
2.数9的个数
编写程序数一下 1到 100 的所有整数中出现多少个数字9
#include
int main()
{
int a;
int b=0;
for(a=1;a<100;a++)
{
if(a/10 == 9 || a%10 == 9)
{
b=b+1;
}
}
printf("%dn",b);
return 0;
}
3.猜数字游戏
猜100之内的数字,会有提示
#include
#include
void menu()
{
printf("*******************************n");
printf("**** 1.play 0.exit ****n");
printf("*******************************n");
}
void game()
{
//1.生成一个随机数
int ret = 0;
int guess = 0;//接收猜的数字
//拿时间戳来中设置随机数的生成起始点
//time_t time(time_t *timer)
//time_t
ret = rand()%100+1;//生成1-100之间的随机数
//2.猜数字
while(1)
{
printf("请猜数字:>");
scanf("%d",&guess);
if(guess>ret)
{
printf("猜大了n");
}
else if(guess { printf("猜小了n"); } else { printf("猜对了n"); break; } } } int main() { int input=0; srand((unsigned int)time(NULL)); do { menu(); printf("请选择:>"); scanf("%d",&input); switch(input) { case 1: game();//猜数字游戏 break; case 0: printf("退出游戏n"); break; default: printf("输入错误n"); break; } }while(input); return 0; } 4.二分查找 编写代码在一个整形有序数组中查找具体的某个数 要求:找到了就打印数字所在的下标,找不到则输出:找不到。 int binary_search(int arr[],int k,int sz) { //算法实现 int left = 0; int right = sz-1; while(left<=right) { int mid=(left+right)/2; if(arr[mid] { left=mid+1; } else if(arr[mid]>k) { right=mid-1; } else { return mid; } } return -1; } int main() { //二分查找 //在一个有序数组中查找具体的某个数 int arr[]={1,2,3,4,5,6,7,8,9,10}; int k = 11; int sz=sizeof(arr)/sizeof(arr[0]); int ret=binary_search(arr,k,sz); if(ret == -1) { printf("找不到指定数字n"); } else { printf("找到了,下标是%d",ret); } return 0; }



