套装简短版本字符串
admin
2023-01-30 17:16:33
0

1.C语言 统计字符串 超简单啦

输出是110000000。000(共24个0)

原因在于:

for (i=0;i<26;i++)

printf("%d",pp[i]);pp[]数组初始化为全0, 只有输入对应的字符,比如a,pp['a'-'a']=pp[0]=1,不然pp中元素的值仍为0, 这个for循环把pp数组里面26个元素都输出了,输入ab时,pp[0]=1,pp[1]=1,其余24个元素仍为0,所以输出是110000。.

这里可以加一个条件

for (i=0;i<26;i++)

if(pp[i]!=0)

printf("%d",pp[i]);

这样就可以得到你想要的输出了

另外这个程序还有一个问题,fun(&str[],pp);应该改为fun(str,pp);对于调用字符数组,数组名就表示地址,直接把数组名赋值给一个字符指针。

改正的程序:

#include

#include

void fun(char *str,int pp[])

{

int i;

for (i=0;i

pp[str[i]-'a']++;

for (i=0;i<26;i++)

if(pp[i]!=0)

printf("%d",pp[i]);

}

int main()

{

int pp[26];

char str[1001];

printf("输入由a~z组成的字符串,中间勿加空格:\n");

scanf("%s",str);

memset(pp,0,sizeof(pp));

fun(str,pp);

return 0;

}

执行结果:

输入由a~z组成的字符串,中间勿加空格:

ab

11Press any key to continue

2.Java SE怎么最简短、最地道的代码把一个文本文件读到一个字符串

private String readtxt(String filename) throws IOException{

BufferedReader br=new BufferedReader(new FileReader(filename));

String str="";

String r=br.readLine();

while(r!=null){

str+=r;

r=br.readLine();

}

return str;

}

3.C语言编程题在屏幕上输入一个字符串和一个要插入的字符

直接看代码: #include#includevoid main(){ char str[100],str_new[100],t; char *p=str; int at=0; puts("输入字符串:"); gets(str); puts("要插入的字符:"); t=getchar(); fflush(stdin);//刷输入新缓存区的内容 puts("插入的位置:"); scanf("%d",&at); if(at>strlen(str)) { puts("输入长度应该小于字符串长度!"); return; } int j=0; for(int i=0;str[i]!=0;i++)//新的字符串在这个for()生成 { if(i==at-1) str_new[j++]=t; str_new[j++]=str[i]; } str_new[j]='\0'; puts(str_new);}这里使用生成新数组的for循环较简洁,但是要新定义一个数组,有一定的系统开销,读者也可以用其它的方法。

4.一道简单的c语言字符串的链接题目,高分求大神解答

修改后的代码如下:

#include "stdio.h"

#include // memset函数的头文件

void fun(char str1[41],char str2[41])

{

int i,j,t=0; // t需要一个初值0

for(i=0;str1[i];i++)t++;

for(j=0;str2[j];j++)str1[t++]=str2[j];

}

main()

{

char str1[41],str2[41];

int n,i;

scanf("%d",&n);

getchar(); // 读取数字后面的换行,否则第一次gets会读取回车

for(i=0;i

{

memset(str1,'\0',sizeof(char)*41); // 每次都重新清空字符数组

memset(str2,'\0',sizeof(char)*41); // 同上

gets(str1);

gets(str2);

fun(str1,str2);

puts(str1); // 输出相加后的结果

}

}


相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...