首页 > 试题广场 >

判断数字位置

[编程题]判断数字位置
  • 热度指数:6853 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
根据输入的字符串判断字符串中数字的位置

输入描述:
输入第一行表示测试用例的个数m,接下来m行每行以个字符串,字符串长度不超过50。


输出描述:
输出m行。每行输出一行数字,用空格隔开,按顺序表示字符串中出现的数字的位置。
示例1

输入

1
a3b4c5

输出

2 4 6
还是比较简洁的
#include<iostream>
#include<cstring>
using namespace std;
int main(){
    int m;
    char ch[50];
    cin>>m;
    for(int i=0;i<m;i++){
        cin>>ch;
        for(int j=0;j<strlen(ch);j++){
            if(ch[j]>='0'&&ch[j]<='9')
                cout<<j+1<<" ";
        }
        cout<<endl;
    }
}

发表于 2019-02-25 13:37:56 回复(0)
#include<stdio.h>
int main()
{
    char s[100];int m,i;
    scanf("%d",&m);
    while(m--)
    {
        scanf("%s",s);
        for(i=0;s[i]!='\0';i++)
        {
            if(s[i]>='0'&&s[i]<='9')
                printf("%d ",i+1);
        }
        printf("\n");
    }
}

发表于 2020-05-10 12:09:49 回复(0)
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int m = -1,strSize = -1;
    string str;
    
    while(cin >> m)
    {
        while(m--)
        {
            cin >> str;
            strSize = str.size();
            for(int i = 0; i < strSize; i ++)
            {
                if(str[i] <='9' && str[i]>= '0') 
                    cout << i + 1 << " ";
            }
            cout << endl;
        }
    }
    return 0;
}

发表于 2021-02-25 15:40:57 回复(0)
for _ in range(int(input())):
    s = input()
    print(' '.join([str(i+1) for i in range(len(s)) if s[i].isdigit()]))

发表于 2019-04-22 15:54:26 回复(0)
#include<stdio.h> int main() { int n,i,j; char a[100][150]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%s",a[i]); for(i=0;i<n;i++) { for(j=0;a[i][j]!=0;j++) { if(a[i][j]>='0' && a[i][j]<='9') printf("%d ",j+1); } printf("\n"); }
}

发表于 2019-03-15 09:37:46 回复(0)
#include<bits/stdc++.h>
int main(){
    int n;
    char a[51]={};
    while(scanf("%d ",&n)!=EOF)
        for(int i=0;i<n;i++){
            gets(a);
            for(int j=0;a[j]!=0;j++)
                if(a[j]>='0' && a[j]<='9')
                    printf("%d ",j+1);
            printf("\n");
        }
}
发表于 2019-03-09 12:55:15 回复(0)
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
    int N;
    vector<string> vec;
    scanf("%d",&N);
    for(int i=0;i<N;i++){
        string s;
        cin>>s;
        vec.push_back(s);
    }
    for(int i=0;i<vec.size();i++){
        for(int j=0;j<vec[i].size();j++){
            if(vec[i][j]>='0'&&vec[i][j]<='9')
            printf("%d ",j+1);
        }
        printf("\n");
    }
}

编辑于 2024-03-17 21:37:35 回复(0)
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

int main() {
    int m;
    cin >> m;
    while (m--) {
        string str;
        cin >> str;
        stringstream sstream;
        for (int i = 0; i < str.size(); i++) {
            if (str[i] >= '0' && str[i] <= '9') {
                sstream << i + 1 << " ";
            }
        }
        string str1;
        getline(sstream, str1);
        str1 = str1.substr(0, str1.size() - 1);
        cout << str1 << endl;
    }
    return 0;
}

发表于 2024-02-03 10:14:56 回复(0)
#include "bits/stdc++.h"
using namespace std;
inline int read(){
    int x=0,f=1;
    char c=getchar();
    while (!(c<='9'&& c>='0')){
        if(c=='-')f=-1;
        c=getchar();
    }
    while (c<='9'&& c>='0'){
        x=(x<<3)+(x<<1)+(c^48);
        c=getchar();
    }
    return x*f;
}


int main() {
    int m=read();
    string s;
    while (m--){
        cin>>s;
        for(int i=0;i<s.size();i++){
            if(isdigit(s[i])){
                cout<<i+1<<' ';
            }
        }
        cout<<endl;
    }



    return 0;
}

发表于 2023-08-16 17:00:27 回复(0)
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    int m;
    while (cin >> m) {
        for (int i = 0; i < m; ++i) {
            string s;
            cin >> s;
            vector<int> my;
            for (int j = 0; j < s.size(); ++j) {
                if(s[j] >= '0' && s[j] <= '9'){
                    my.push_back(j+1);
                }
            }
            for(int j = 0; j < my.size()-1;++j){
                cout << my[j] << " ";
            }

            cout << my[my.size()-1] << endl;
        }
    }
}
// 64 位输出请用 printf("%lld")

发表于 2023-03-29 16:32:19 回复(0)
#include <cstdio>
#include <cstring>

int main(){
    int m;
    scanf("%d",&m);
    char s[51];
    while(scanf("%s",s) != EOF){
        int len = strlen(s);
        for(int i = 0; i < len; ++i){
            if('0' <= s[i] && s[i] <= '9'){
                printf("%d ",i+1);
            }
        }
        printf("\n");
    }
    return 0;
}

发表于 2023-03-23 14:52:10 回复(0)
#include <iostream>
#include <string>

using namespace std;

int main(){

    int m;
    cin >> m;

    while(m--){

        string str;

        cin  >> str;

        for(int i = 0 ; i < str.size() ;i++){
            if(str[i] >= '0' && str[i] <= '9' ){
                cout << i+1 << " ";
            }
        }

        cout << endl;

    }

}

发表于 2023-03-18 10:36:54 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();       //测试用例的个数
        for (int i = 0; i < m; i++) {
            String str = in.next();
            for (int j = 0; j < str.length(); j++) {
                if (Character.isDigit(str.charAt(j))) {
                    System.out.print((j + 1) + " ");
                }
            }
            System.out.println();
        }
    }
}

发表于 2023-03-13 10:49:32 回复(0)
#include <iostream>
#include<cstring>
using namespace std;

int main() {
    int n;
    while (cin >> n) { 
        char str[n][50];
        for (int i = 0; i < n; ++i)
           cin>>str[i];
        for (int i = 0; i < n; ++i) {
            int pos[50] = {0}, k = 0;
            for (int j = 0; j < strlen(str[i]); ++j) {
                if (str[i][j] >= '0' && str[i][j] <= '9')
                    pos[k++] = j + 1;
            }
            for (int i = 0; i < k; ++i) {
                cout << pos[i] << " ";
            }
            cout<<endl;
        }
    }
}

发表于 2023-02-04 14:11:13 回复(0)
#include<stdio.h>
#include<string.h>
#define MAX 50
int main()
{
	char a[1000][MAX],m,i;
	scanf("%d",&m);
	for(i=0;i<m;i++)
	scanf("%s",a[i]);
	for(i=0;i<m;i++)
	{
		int k=strlen(a[i]);
		for(int j=0;j<k;j++)
		{
			if(a[i][j]>=48&&a[i][j]<=57)
			printf("%d ",j+1);
		}
		printf("\n");
	}
	return 0;	
 } 

发表于 2020-06-07 12:07:14 回复(0)
#include<stdio.h>
(737)#include<string.h>
int main()
{
    int m;
    scanf("%d\n",&m);
    while(m--)
    {
        char str[51];
        int a[50]={0},k=0;
            scanf("%s\n",str);
        int len=strlen(str);
        for(int i=0;i<len;i++)
        {
            if(0<=str[i]-'0'&&str[i]-'0'<=9)
            {a[k]=i+1;
            k++;}
        }
        for(int i=0;i<k;i++)
            printf("%d ",a[i]);
        printf("\n");
    }
    return 0;
}

发表于 2020-03-29 14:51:35 回复(0)
/*判断数字位置*/
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1000;
int main()
{
	int m;         //m表示测试用例的个数 
	char str[maxn];
	int num_pos = 0;
	cin>>m;
	for(int i = 0; i<m; i++)
	{
		cin>>str;
		int len = strlen(str);
		for(int i = 0; i<len; i++)
		{
			if(str[i]>='0'&&str[i]<='9')
			{
				num_pos = i+1;
				cout<<num_pos<<" ";
			}
		
		}
		cout<<endl;
	}

	return 0;
 } 

发表于 2020-03-27 17:34:01 回复(0)
Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        for (int i = 0; i < m; i++) {
            char[] array = scanner.next().toCharArray();
            for (int j = 0; j < array.length; j++) {
                if (Character.isDigit(array[j])) System.out.print(j + 1 + " ");
            }
            System.out.println();
        }
    }
}


发表于 2020-03-20 11:32:46 回复(0)
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
int main()
{
    int m;
    cin>>m;
    vector<string> vt;
    for(int i=0;i<m;i++)
    {
        string s;
        cin>>s;
        vt.push_back(s);
        
    }
    for(auto it = vt.begin();it!=vt.end();it++)
    {
        string temp = *it;
        int x=0;
        while(temp.find_first_of("0123456789")!=string::npos)
        {
            x+= (temp.find_first_of("0123456789")+1);
            temp=temp.substr(temp.find_first_of("0123456789")+1,temp.length());
            cout<<x<<" ";
        }
        cout<<endl;
    }
}
发表于 2020-01-06 22:33:28 回复(0)
#include <iostream>

using namespace std;

int main() {
    string str;
    int m;

    cin >> m;
    for (int i = 0; i < m; ++i) {
        cin >> str;
        int s;
        for (s = 0; s < str.length(); s++) {
            if (str[s] >= '0' && str[s] <= '9') {
                printf("%d", s + 1);
                break;
            }
        }
        for (s += 1; s < str.length(); s++) {
            if (str[s] >= '0' && str[s] <= '9') {
                printf(" %d", s + 1);
            }
        }
        printf("\n");
    }
    return 0;
}

发表于 2019-10-15 13:39:49 回复(0)