编程小练习(1)
本练习难度不会很大,代码量不会很大!不限语言,实现以下要求:
输入一串数字,再输入一个数字x,要求获得该串数字中数字x的个数.
例如:
输入1546248634657980506162
再输入 2
则返回 2
输入1546248634657980506162
再输入 6
则返回 5
输入54654
再输入 2
则返回 0 做练习加不加CB啊 做练习加不加CB啊
blueapplez 发表于 2010-2-24 19:43 http://www.52pojie.cn/images/common/back.gif
看情况CB乃身外之物 VC 6.0编译器
#include "stdafx.h"
#include "string.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
char szString = {0};
printf("Please input a number string:");
scanf("%s", szString);
getchar();
printf("Please input a number:");
char cJust = getchar();
int iLength = strlen(szString);
int iCount = 0;
for (int i=0; i<iLength; i++)
{
if (cJust == szString)
{
iCount++;
}
}
printf("%d\n", iCount);
system("pause");
return 0;
} VC 6.0编译器
blueapplez 发表于 2010-2-24 19:57 http://www.52pojie.cn/images/common/back.gif
如果超过100个呢? 做这种题目算法效率很重要的 如果超过100个呢?
zapline 发表于 2010-2-24 20:04 http://www.52pojie.cn/images/common/back.gif
超过100个就溢出了丫! 哈哈哈 改进的版本,这下不会溢出了而且效率钢钢滴!!:
#include "stdafx.h"
#include "string.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
int iSort = {0};
printf("Please input a number string:");
char cTemp = 0;
while(cTemp = getchar())
{
if (cTemp == '\n')
{
break;
}
if (cTemp < '0' || cTemp >'9')
{
printf("U MUST ENTER NUMBER!!!");
system("pause");
return 0;
}
iSort++;
}
printf("Please input a number:");
char cJust = getchar();
printf("%d\n", iSort);
system("pause");
return 0;
} 强烈建议版主大大加CB 改进的版本,这下不会溢出了而且效率钢钢滴!!:
blueapplez 发表于 2010-2-24 20:24 http://www.52pojie.cn/images/common/back.gif
跟我想的差不多
不过你的代码还繁琐了点
期待还能看到别的方法