这两段简单的错误代码该如何修改...

如果可以说一下错误在哪儿啊各位大佬!!!!!

#include
#include
int main()
{
int n,i,sum,result;
printf("Please input n: ");
scanf("%f",&n);
for(i=1,sum=0;i<=n;i++)
{
result=pow((2*i-1),2)+pow(2*i,3);
sum=sum+result;
}
printf("sum=%d\n",sum);
return 0;
}

(说明,此代码无运行结果,上传到系统提示运行时间过长,是没有跳出循环嘛?)

#include
#include
int main()
{
int capitalletter=0,lowercaser=0,blank=0,digit=0,other=0;
char str[11];
printf("Input 10 characters: ");
scanf("%s",&str);
if (str[11]>='A'&str[11]<= 'Z')
capitalletter++;
else if (str[11]>='a'&str[11]<='z')
lowercaser++;
else if (str[11]==' ')
blank++;
else if (str[11]>='0'&str[11]<='9')
digit++;
else
other++;
printf("capitalletter=%d,lowercaser=%d,blank=%d,digit=%d,other=%d\n",capitalletter,lowercaser,blank,digit,other);
return 0;

}

(说明,此代码只能输出最后一个other=,其他的输出都是0)

0

3个回答

 (1)scanf("%f",&n); 
->
scanf("%d",&n);

(2)


scanf("%s",&str);
for (int x = 0; x < 10; x++)
{
if (str[x]>='A'&str[x]<= 'Z')
capitalletter++;
else if (str[x]>='a'&str[x]<='z')
lowercaser++;
else if (str[x]==' ')
blank++;
else if (str[x]>='0'&str[x]<='9')
digit++;
else
other++;
}
1
qq_43352349
qq_43352349 第二个,输入Relod 123? 输入的结果,字母判断都对,但是把“ 123?”这五个当成了other,结果other=5
8 天之前 回复
qq_43352349
qq_43352349 第一个,更改之后结果sum=0,感觉还是循环计算时出了问题,根本没进入循环?
8 天之前 回复

第一个是输入n为浮点形这里有问题,你可以输出n看下。
第二个数组定义为11位,数值是a[0]到a[10],然后a[11]找不到才一直走else
说得不一定对,欢迎纠错。

0

str[11] 数组越界,应为str[10]

0
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!