题目描述
输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入"1234",那么表示整数1234,输入"12a3"就表示只是一个字符串,不是一个整数
要求编写函数isNumber,参数是一个字符指针,返回值是整数类型
如果字符串表示一个整数,则计算出这个整数并且返回
如果字符串不是表示一个整数,则返回-1
主函数必须调用isNumber来判断字符串,不能使用任何C++自带或第三方的类似函数
输入
输入t表示有t个测试实例
每行输入一个字符串
依次输入t行
输出
每行输出判
#include<stdio.h>
#include<string.h>
int string_compare(char *S,char *T);
int main(){
int t;
scanf("%d",&t);
getchar();
while(t--){
char c1[100],c2[100];
gets(c1);
gets(c2);
printf("%d\n",string_compare(c1,c2));
}
}
int string_compare(char *S,char *T){
int re=0;
if(strlen(S)>strlen(T)) re=1;
else if(strlen(S)<strlen(T)) re=-1;
else {
int l1=0,l2=0;
for(int i=0;i<strlen(S);i++){
if(S[i]>T[i]) l1++;
else if(S[i]<T[i]) l2++;
}
if(l1>l2) re=1;
else if(l1<l2) re=-1;
else re=0;
}
return(re);
}
//老师的
//#include<iostream>
//#include<stdio.h>
//#include<cstring>
//using namespace std;
//
//int Compare(char *p,char *q);
//
//main()
//{ //freopen("d:\\a.txt", "r", stdin);
// int t;
// char p[20],q[20];
// cin>>t;
// while(t--){
// cin>>p>>q;
// cout<<Compare(p,q)<<endl;
// }
//}
//
//int Compare(char *s,char *k){
// int num=0;
// int lens=strlen(s),lenk=strlen(k);
//
// if(lens==lenk){
// while(*s ){
// if(*s>*k) //大于,num++
// num++;
// if(*s<*k) //小于, num--
// num--;
// k++;s++;
// }
// if(num==0)
// return 0;
// else
// return num>0?1:-1;
// }
// else
// return lens>lenk?1:-1;
//}
断结果