新手学习

ranxufeng 2012-09-20 03:18:08
#include "stdafx.h"
#include"stdio.h"
#include"string.h"
float shuchu(char *p,char *q);
int count=0;

int _tmain(int argc, _TCHAR* argv[])
{
int z;
char a[50], b[50];
printf("请输入英文字符串:\n");
gets(a);
do
{
if(!(a[count]>='0'&&a[count]<='9'));
else
{
printf("输入错误\a\n请输入英文字符串:\n");
gets(a);
}
count++;
}while(a[count]>='0'&&a[count]<='9');
printf("请再次输入这窜英文字符串:\n");
gets(b);
float A=shuchu(a,b)*100;
printf("输入的正确率为:\n%f%%\n",A);
scanf("%d",&z);
return 0;
}

float shuchu(char *p,char *q)
{
while(*p!='\0'&&*q!='\0')
{
if(*p==*q)
{
count++;
}
p++;
q++;
}
float d=float (count)/strlen(p);
return d;
}

无法执行 怎么改 让它输出框为彩色
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ranxufeng 2012-09-20
  • 打赏
  • 举报
回复
恩 太谢谢你们了
Corner 2012-09-20
  • 打赏
  • 举报
回复
记得在前面加上
#include "stdlib.h"
Corner 2012-09-20
  • 打赏
  • 举报
回复
修改控制台颜色在main函数头部加上
system("color 49");

int _tmain(int argc, _TCHAR* argv[])
{
int z;
char a[50], b[50];
system("color 49");
printf("请输入英文字符串:\n");
gets(a);
do
{
if(!(a[count]>='0'&&a[count]<='9'));
else
{
printf("输入错误\a\n请输入英文字符串:\n");
gets(a);
}
count++;
}while(a[count]>='0'&&a[count]<='9');
printf("请再次输入这窜英文字符串:\n");
gets(b);
float A=shuchu(a,b)*100;
printf("输入的正确率为:\n%f%%\n",A);
scanf("%d",&z);
return 0;
}

forever2tf 2012-09-20
  • 打赏
  • 举报
回复
头文件修改:
#include <stdio.h>
#include <tchar.h>
#include <string.h>

do-- while()循环体内遍历元素是否为字符串,好像实现不对吧,变量Z,好像没什么用,输出正确率去掉一个%
Corner 2012-09-20
  • 打赏
  • 举报
回复
shuchu代码有BUG

float shuchu(char *p,char *q)
{
int p_len = strlen(p);//在后边获取长度时候p的位置已经指向0,所以长度为0
count = 0;//在main函数也用到了count,在此置0
while(*p!='\0'&&*q!='\0')
{
if(*p==*q)
{
count++;
}
p++;
q++;
}

float d= count/p_len;
return d;
}

不知道你的输出框为彩色是什么意思。。。如果是指控制台颜色的话要用汇编或者windows接口了
狂放不羁 2012-09-20
  • 打赏
  • 举报
回复
没看明白。。。。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧