c语言 输出字符串中的数字
答案:6 悬赏:10 手机版
解决时间 2021-03-05 09:02
- 提问者网友:轮囘Li巡影
- 2021-03-04 10:50
c语言 输出字符串中的数字
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-03-04 12:05
#include
#include
#include
main()
{
char s[100];
int n,i,j=0,a[100]={0};
gets(s);
n=strlen(s);
for(i=0;i {
if(s[i]>=48&&s[i]<=57)
{
if(j%3==0)
a[j/3+1]+=(s[i]-48)*100;
else if(j%3==1)
a[j/3+1]+=(s[i]-48)*10;
else
a[j/3+1]+=(s[i]-48);
j++;
}
}
for(i=1;i<=ceil(j/3.0);i++)
{
printf("%d ",a[i]);
if(i%2==0)
printf("\n");
}
return 0;
}
#include
#include
main()
{
char s[100];
int n,i,j=0,a[100]={0};
gets(s);
n=strlen(s);
for(i=0;i
if(s[i]>=48&&s[i]<=57)
{
if(j%3==0)
a[j/3+1]+=(s[i]-48)*100;
else if(j%3==1)
a[j/3+1]+=(s[i]-48)*10;
else
a[j/3+1]+=(s[i]-48);
j++;
}
}
for(i=1;i<=ceil(j/3.0);i++)
{
printf("%d ",a[i]);
if(i%2==0)
printf("\n");
}
return 0;
}
全部回答
- 1楼网友:底特律间谍
- 2021-03-04 16:33
ascll表里‘a’~‘z’和‘A’~‘Z’之间的为字母,‘0’~‘9’之间的为数字,可以用大小直接比较出来。
- 2楼网友:平生事
- 2021-03-04 14:45
#include
void main()
{
char str[500];
int i,n=0;
printf("请输入一个字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if('0'<=str[i]&&str[i]<='9')
str[n++]=str[i];
str[n]=0;
for(i=0;i {
printf("%c",str[i]);
if(i%6==2)
printf(" ");
if(i%6==5)
printf("\n");
}
n=n%3;
if(n==1)
printf("00\n");
else if(n==2)
printf("0\n");
}
void main()
{
char str[500];
int i,n=0;
printf("请输入一个字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if('0'<=str[i]&&str[i]<='9')
str[n++]=str[i];
str[n]=0;
for(i=0;i
printf("%c",str[i]);
if(i%6==2)
printf(" ");
if(i%6==5)
printf("\n");
}
n=n%3;
if(n==1)
printf("00\n");
else if(n==2)
printf("0\n");
}
- 3楼网友:末日狂欢
- 2021-03-04 14:38
#include "stdio.h"//
#include "string.h"//
void main(void){
char ac[121]="a2k3k4566ji8901";
int an[40],i,n=0;
printf("请输入一个不长于120字的串!\nStr=");
gets(ac);
for(i=0;*(ac+i);i++)//去除数字外的其他字符
if(*(ac+i)<'0' || *(ac+i)>'9'){
strcpy(ac+i,ac+i+1);
i--;
}
for(i=0;*(ac+i);i+=3)//转换成数字存入数字数组an,含最后1组补齐0
*(an+n++)=100*(ac[i]&15)+10*(ac[i+1]&15)+(ac[i+2]&15);
for(i=0;i printf(i%2 ? "%03d\n" : "%03d ",*(an+i));
printf("\n");
}
#include "string.h"//
void main(void){
char ac[121]="a2k3k4566ji8901";
int an[40],i,n=0;
printf("请输入一个不长于120字的串!\nStr=");
gets(ac);
for(i=0;*(ac+i);i++)//去除数字外的其他字符
if(*(ac+i)<'0' || *(ac+i)>'9'){
strcpy(ac+i,ac+i+1);
i--;
}
for(i=0;*(ac+i);i+=3)//转换成数字存入数字数组an,含最后1组补齐0
*(an+n++)=100*(ac[i]&15)+10*(ac[i+1]&15)+(ac[i+2]&15);
for(i=0;i
printf("\n");
}
- 4楼网友:千夜
- 2021-03-04 13:09
用字符的ASCII值来判断。ASCII码值不好记忆,但你可以用 单引号括起的 字符常量代替。
char s[100];
....
if ( (s[i]>= '0') && (s[i] <= '9')) { printf("it is digit\n");} -- 数字。
if ( (s[i]>= 'a') && (s[i] <= 'z')) {。。。。 } -- 小写字母。
if ( (s[i]>= 'A') && (s[i] <= 'Z')) {。。。。 } -- 大写字母。
----------------------
#include
void main() {
char s[100];
int x[50];
int i,j,k,L,n;
scanf("%s",s);
L = strlen(s);
i=0;
for (j=0;j if ( (s[j]>= '0') && (s[j] <= '9')) {s[i]=s[j]; i++;};
}
s[i]='\0';
L = strlen(s);
k = L / 3;
for (i=0;i n = L % 3;
if (n!=0) i=k;
if (n==1){
x[i]= (s[k*3]-'0') * 100;
} else if (n==2) {
x[i]= (s[k*3]-'0') * 100 + (s[k*3+1]-'0') * 10;
};
for (i=0;i if (n!=0) printf("%d ",x[k]);
}
char s[100];
....
if ( (s[i]>= '0') && (s[i] <= '9')) { printf("it is digit\n");} -- 数字。
if ( (s[i]>= 'a') && (s[i] <= 'z')) {。。。。 } -- 小写字母。
if ( (s[i]>= 'A') && (s[i] <= 'Z')) {。。。。 } -- 大写字母。
----------------------
#include
void main() {
char s[100];
int x[50];
int i,j,k,L,n;
scanf("%s",s);
L = strlen(s);
i=0;
for (j=0;j
}
s[i]='\0';
L = strlen(s);
k = L / 3;
for (i=0;i
if (n!=0) i=k;
if (n==1){
x[i]= (s[k*3]-'0') * 100;
} else if (n==2) {
x[i]= (s[k*3]-'0') * 100 + (s[k*3+1]-'0') * 10;
};
for (i=0;i
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯