zqz


私信TA

用户名:wxhnzll357159

访问量:11546

签 名:

心之所向,且随风而去

等  级
排  名 1146
经  验 3038
参赛次数 2
文章发表 6
年  龄 20
在职情况 学生
学  校 哔哩大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:自定义函数中分别统计题目的四种字符个数,在主函数中输出

注意事项:重点是结果要在主函数输出,所以我们有以下三种思路

法一:我们设置4个全局变量分别用来统计4种不同字符的个数,由于是全局变量,所以在自定义函数中变量发生改变,其改变变量值会保存,所以主函数直接输出即可,避免了自定义函数设置多参数去统计。

法二主函数中定义4个变量分别用来统计4种不同字符的个数,需要在自定义函数中多加4个参数,并且需要传变量地址,涉及指针,较为麻烦(不建议写这个,如果想加深自己指针的能力,可以自己尝试编写)。

法三:主函数中定义一个整型含有4个元素的数组,初值为0,传数组名,在自定义函数中分别去统计,由于传的地址,形参的改变会直接影响实参,之后主函数中输出数组所有元素值即可。

这里我们主要介绍法一,对其它方法感兴趣的同学可以自行编写,提交
参考代码:

#include<stdio.h>
int e=0,b=0,c=0,d=0;
void Statistics(char a[100]); 
int main()
{
char a[100];
gets(a);
Statistics(a);
printf("%d %d %d %d\n",e,b,c,d);
return 0;
}
void Statistics(char a[100])
{
int i;
for(i=0;a[i]!='\0';i++)
{
if('a'<=a[i]&&a[i]<='z'||'A'<=a[i]&&a[i]<='Z')
e++;
else if('0'<=a[i]&&a[i]<='9')
b++;
else if(a[i]==' ')
c++;
else
d++;
}
}

有其它想法的同学欢迎交流

 

0.0分

18 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

#include<stdio.h>
#include<string.h>
void calcul(char str[100],int res[4]){
   int i;
    for(i=0;str[i]!='\0';i++){
        if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')){
            res[0]++;
        }else if(str[i]>='0'&&str[i]<='9'){
            res[1]++;
        }else if(str[i]==' '){
            res[2]++;
        }else{
            res[3]++;
        }
    }
}
int main()
{
    char str[100];
    int res[4]={0},i;
    fgets(str, sizeof(str), stdin);//输入数
    calcul(str,res);
    for(i=0;i<4;i++){
        printf("%d ",res[i]);
    }
    printf("\n");
	return 0;
}
帮忙看看第一个正确的
2023-11-18 17:02:18
#include<stdio.h>
#include<string.h>
void fun(char ch[],int m,int n,int h,int k);

int main(void)
{
    int m=0,n=0,h=0,k=0;
    char ch[100];
    gets(ch);
    
    fun(ch,m,n,h,k);
    printf("%d %d %d %d ",m,n,h,k);
    
    return 0;
}

void fun(char ch[],int m,int n,int h,int k)
{
    int l=strlen(ch);
    for(int i=0;i<l;i++)
    {
        if((ch[i]>='A'&&ch[i]<='Z')||(ch[i]>='a'&&ch[i]<='z'))
        m++;
        else if(ch[i]>='0'&&ch[i]<='9')
        n++;
        else if(ch[i]==' ')
        h++;
        else
        k++;
    }
    
}


指点一下呗
2022-11-12 19:57:27
#include<stdio.h>
int e=0,b=0,c=0,d=0;
void fun(char a[100]);
int main()
{
    char a[100];
    gets(a);
    fun(a);
    printf("%d %d %d %d\n",e,b,c,d);
    return 0;
}
void fun(char a[100])
{
    int i;
    for(i=0;a[i]!='\0';i++)
    {
        if('a'<=a[i]&&a[i]<='z'||'A'<=a[i]&&a[i]='Z')
        e++;
        else if('0'<=a[i]&&a[i]<='9')
        b++;
        else if(a[i]==' ')
        c++;
        else
        d++;
    }
}
麻烦指点一下,谢谢
2022-02-07 16:39:34
//法三的代码 
#include<stdio.h>
#include<string.h>
void func(char a[],int str[]){
		int l=strlen(a);
		int i;
		for(i=0;i<l;i++){
			if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'){
				str[0]++;
			}else if(a[i]>='1'&&a[i]<='9'){
				str[1]++;
			}else if(a[i]==' '){
				str[2]++;
			}else{
				str[3]++;
			}
		}
}
int main(){
		int str[4]={0};
		char a[100];
		gets(a);
		func(a,str);
		int i;
		for(i=0;i<4;i++){
		printf("%d",str[i]);
		printf(" ");
	}
		return 0;
}
2021-04-07 12:33:28
//在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
#include<stdio.h>
#include<string.h>
    int  r=0,d=0,g=0,w=0;
    
    int f(char a[100]);
    int main(){
    char a[100];
    gets(a);
    f(a);
    printf("%d %d %d %d",r,d,g,w);
    return 0;
}

    int f(char a[]){
    int i, l,r,d,g,w;
    r=d=g=w=0;
    l = strlen(a);
for ( i = 0; i < l; i++)
{
    if (a[i]<='z'&&a[i]>='A')
    {
        r++;
        
    }else if (a[i]>='0'&&a[i]<='9')
    {
        d++;
        
    }else if (a[i]==' ')
    {
        g++;
          
    }
    w = l - r - d - g;
}
}
我这个应该怎么改,请大佬指点一下
2021-03-17 16:58:58
分明是少=号
2021-02-17 18:19:01
#include<stdio.h>
#include<string.h>
int main()
{
     char  ch[100];
     int x,i,a=0,b=0,c=0,d=0;
	 gets(ch);
	 x=strlen(ch);
	 for(i=0;i<x;i++)
	 {
	 	if((ch[i]>='a'&&ch[i]<'z')||(ch[i]>'A'&&ch[i]<'Z'))
	 	a++;
	 	else if(ch[i]>='0'&&ch[i]<'9')
	 	b++;
	 	else if(ch[i]==' ')
	 	c++;
	 	else
		d++;
	 }
	 printf("%d %d %d %d\n",a,b,c,d);
	 return 0;
}

    为什么我提交答案错误,但是  debug跑出来是对的
2021-02-08 23:27:34
  • «
  • 1
  • »