#include <stdio.h>
#include <conio.h>
int fun(char *p,char c)
{
int i,sum=0;
for(i=0;p[i]!='\0';i++)
{
if(p[i]==c)
sum++;
}
return sum;
}
void main()
{
char a[30],ch;
int b;
clrscr();
printf("please enter a string:\n");
gets(a);
printf("please enter a char:\n");
scanf("%c",&ch);
b=fun(a,ch);
printf("the number of the char is:%d\n",ch,b);
getch();
}
不知道哪错,出不来结果
第1个回答 2011-05-04
编写一函数!
请注意是一个函数,虽然
#include <stdio.h>
void main()
{
int a=0;
printf("please input your number:\n");
scanf("%x",&a);
printf("the result is %d",a);
getch();
}
也可以,但这绝不是题目要求。
#include "stdio.h"
#include "string.h"
long DEC( char *HEX );
int Ture( char *HEX );
void main( void )
{
char HEX[30];
int ture;
clrscr();
do
{
printf("\nPlease input a HEX number blow : \n");
gets( HEX );
if( ture=Ture(HEX) )
printf("\nWrong ! Try Again !");
}while( ture );
printf("\nThe Result is :");
printf(" HEX (%s) = DEC (%ld) ",HEX,DEC(HEX));
}
long DEC( char *HEX )
{
long decvalue=0;
int i=0;
for( i=0 ; i<strlen(HEX) ; i++)
{
if(*(HEX+i)>='A'&&*(HEX+i)<='F')
{
decvalue*=16;
decvalue+=*(HEX+i)-'A'+10;
}
if(*(HEX+i)>='0'&&*(HEX+i)<='9')
{
decvalue*=16;
decvalue+=*(HEX+i)-'0';
}
}
return decvalue;
}
int Ture( char *HEX )
{
int i;
int flag=0;
for( i=0 ; i<strlen(HEX) ; i++ )
{
if((*(HEX+i)>='a')&&(*(HEX+i)<='f'))
{
*(HEX+i)+='A'-'a';
flag++;
}
else if((*(HEX+i)>='A')&&(*(HEX+i)<='F'))
{
flag++;
}
else if((*(HEX+i)>='0')&&(*(HEX+i)<='9'))
{
flag++;
}
else
{
flag--;
}
}
return(strlen(HEX)-flag);
}
你也可以把Ture和DEC合在一块
也可以不要Ture
另外,团IDC网上有许多产品团购,便宜有口碑
请注意是一个函数,虽然
#include <stdio.h>
void main()
{
int a=0;
printf("please input your number:\n");
scanf("%x",&a);
printf("the result is %d",a);
getch();
}
也可以,但这绝不是题目要求。
#include "stdio.h"
#include "string.h"
long DEC( char *HEX );
int Ture( char *HEX );
void main( void )
{
char HEX[30];
int ture;
clrscr();
do
{
printf("\nPlease input a HEX number blow : \n");
gets( HEX );
if( ture=Ture(HEX) )
printf("\nWrong ! Try Again !");
}while( ture );
printf("\nThe Result is :");
printf(" HEX (%s) = DEC (%ld) ",HEX,DEC(HEX));
}
long DEC( char *HEX )
{
long decvalue=0;
int i=0;
for( i=0 ; i<strlen(HEX) ; i++)
{
if(*(HEX+i)>='A'&&*(HEX+i)<='F')
{
decvalue*=16;
decvalue+=*(HEX+i)-'A'+10;
}
if(*(HEX+i)>='0'&&*(HEX+i)<='9')
{
decvalue*=16;
decvalue+=*(HEX+i)-'0';
}
}
return decvalue;
}
int Ture( char *HEX )
{
int i;
int flag=0;
for( i=0 ; i<strlen(HEX) ; i++ )
{
if((*(HEX+i)>='a')&&(*(HEX+i)<='f'))
{
*(HEX+i)+='A'-'a';
flag++;
}
else if((*(HEX+i)>='A')&&(*(HEX+i)<='F'))
{
flag++;
}
else if((*(HEX+i)>='0')&&(*(HEX+i)<='9'))
{
flag++;
}
else
{
flag--;
}
}
return(strlen(HEX)-flag);
}
你也可以把Ture和DEC合在一块
也可以不要Ture
另外,团IDC网上有许多产品团购,便宜有口碑
第2个回答 2011-05-02
这个clrscr()去掉也可以。
在你最后输出语句中漏掉了一个格式说明符printf("the number of the char is:%d\n",ch,b);应该改为
printf("the number of the char %c is:%d\n",ch,b);
在你最后输出语句中漏掉了一个格式说明符printf("the number of the char is:%d\n",ch,b);应该改为
printf("the number of the char %c is:%d\n",ch,b);
第3个回答 2011-05-15
#include <stdio.h>
#include <conio.h>
int fun(char *p,char c)
{
int i,sum=0;
for(i=0;p[i]!='\0';i++)
{
if(p[i]==c)
sum++;
}
return sum;
}
void main()
{
char a[30],ch;
int b;
clrscr();
printf("please enter a string:\n");
gets(a);
printf("please enter a char:\n");
scanf("%c",&ch);
b=fun(a,ch);
printf("the number of the char is:%d\n",b);
}
#include <conio.h>
int fun(char *p,char c)
{
int i,sum=0;
for(i=0;p[i]!='\0';i++)
{
if(p[i]==c)
sum++;
}
return sum;
}
void main()
{
char a[30],ch;
int b;
clrscr();
printf("please enter a string:\n");
gets(a);
printf("please enter a char:\n");
scanf("%c",&ch);
b=fun(a,ch);
printf("the number of the char is:%d\n",b);
}
第4个回答 2011-05-02
首先,你这是针对字符的,a123gk412132在字符串中混有整型当然不行,第二,你的main函数中的b没有赋初值
第5个回答 2011-05-02
printf("the number of the char is:%d\n",ch,b);
改成
printf("the number of the char %c is:%d\n",ch,b);本回答被网友采纳
改成
printf("the number of the char %c is:%d\n",ch,b);本回答被网友采纳