当前位置:编程学习 > C/C++ >>

C语言同时输入字符串和数字

字符串和数字之间使用逗号分隔的,比如在一行中输入abcmnjk,123把abcmnjk放到数组中,123放到变量中,怎么不把逗号和数字都弄到字符串中去啊?
补充:类似于帮忙弄个输入abcmnjk,123回车时把abcmnjk放到a[ ]中,123放到k中,谢谢各位啦~~
追问:不,不,要分开计算的
答案:可以在输入字符中判断for(l=0;(s[i]=getchar())!=',';i++); 
#include<stdio.h>
int main(void)
{
	int k,i;
	char a[80];
	for(i=0;(a[i]=getchar())!=',';i++);
	a[i]=0;
	scanf("%d",&k);
	printf("%s,%d\n",a,k);
	return 0;
}
其他:可以把逗号和数字都弄到字符串中去啊! //---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
	char a[80];
	int k;

	scanf("%[^,]%*c%d",a,&k);
	printf("%s\n%d",a,k);
	return 0;
}
//--------------------------------------------------------------------------- int num;
 char cstr[32] = {0};

 scanf("%d,%s", &num, &cstr);

先输入数字,再输入字符串。
如果反过来则不行。需要一个字符一个字符判断。
当读到“,”时,这把前面读到的字符放入字符串并结尾置零。然后再读取数字。 #include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
    char buf[128];
    int len, i, count = 0;

    scanf("%s", buf);
    len = strlen(buf);
    for (i = 0; i < len; i++)
    {   
        if ((buf[i] >= 'A' && buf[i] <= 'Z') || buf[i] >= 'a' && buf[i] <= 'z')             continue;
        buf[i] = ' ';
        count++;
    }       
    printf("转换后的字串是:%s\n", buf);
    printf("转换的次数是:%d\n", count);
    return 0;
}

上一个:谁给些个安徽省计算机c语言二级模拟或者真试题
下一个:C语言问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,