第1个回答 2009-08-24
void main()
{
printf("首字母为数字输出数字,为字母输出字母,舍弃以首字母不匹配的!\n");
char c[256],a[256];
int i,j=0,n;
printf("请输入:");
scanf("%s",c);
if(c[0]>='a'&&c[0]<='z'||c[0]>='A'&&c[0]<='Z')
{
for(i=0;i<strlen(c);i++)
if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')
a[j++]=c[i];
a[j]='\0';
printf("%s\n",a);
}
if(c[0]>'0'&&c[0]<='9')
{
j=0;
for(i=0;i<strlen(c);i++)
if(c[i]>='0'&&c[i]<='9')
a[j++]=c[i];
a[j]='\0';
n=atoi(a);
printf("%d\n",n*n);
}
if(c[0]=='0')
printf("0\n");
}
第2个回答 2009-08-24
你的问题我这样理解的
输入一个数字或者字符
如果是数字 输出其平方
如果是字符 输出该字符
这个意思?
第3个回答 2009-08-24
#include <stdio.h>
void main()
{
char an[255];
printf("请输入字符串:");
scanf("%s",&an);
printf("%s\n",&an);
int i=0;
int num=0;
char an1[255];
while(1)
{
if (an[i]==NULL)
{
break;
}
num=0;
if (an[i]>='0'&&an[i]<='9')
{
sscanf(&an[i],"%d",&num);
printf("%d",num*num);
while (an[i]>='0'&&an[i]<='9')
{
i++;
}
}
else
{
sscanf(&an[i],"%[^0-9]",an1);
printf("%s",an1);
while(1)
{
if (an[i]==NULL)
{
break;
}
if (an[i]>='0'&&an[i]<='9')
{
break;
}
else
{
i++;
}
}
}
}
printf("\n");
}
输入:12qq11
输出144qq121
第4个回答 2009-08-24
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char s[200];
int i,a;
int isNumber=1;
gets(s);
for(i=0;i<(signed)strlen(s);i++)
if(s[i]<'0'||s[i]>'9')
{
isNumber=0;
break;
}
if(isNumber)
{
a=atoi(s);
printf("%d\n",a*a);
} else
{
puts(s);
}
return 0;
}本回答被提问者采纳