用DEV C++编写这个程序

用DEV C++编写这个程序,第1张

#include<iostream>
using namespace std;
int SumX(int a[],int x,int n)
{
    int count=0;
    for(int i=0;i<n;i++)
        if(a[i]==x)
            count++;
    return count;
}
void main()
{
    int a[]={1,2,3,4,3,3,3};
    cout<<SumX(a,3,sizeof(a)/sizeof(a[0]));
    system("pause");
}

#include<stdioh>
int main()
{
int n,i,j;
int a[10]={1,2,3,4,5,6,7,8,9,10};
scanf("%d",&j);
//前面没有j=?scanf的返回值是正确输入的个数,所以如果你要加上j=,输入正确情况下,j=1
printf("%d",a[j]);
getchar();
getchar();
return 0;
}

静态的能直接看到,动态的是个指针,可以在memory里看。把指针地址输入 按回车。或者用outputdebugstring输出看
目前还不知道。我也想知道。还有stl的vector map等里面的东西调试时也看不到,只能看到第一个和最后一个。不知谁还有更好的办法
对,那里是16进制。我也没什么好方法了。

错误的程序有时候也是能运行的。
a[100]指向的是a之后100个位置的地方。如果这个地方,属于程序的寻址空间,运行时就不会发生错误,如果超出,应该会发生地址非法访问的错误。另外,如果有其他 *** 作修改或者访问了a[100]这个地方的内容,会发生不可预知的问题,因为你错误/意外的修改了这个地方的内容。

恩,这个我明白了,是这么回事,我也曾困扰过:
scanf("%c",&ga);
这句话,你输入的是一个字母,比方说是a把,你输入的是a,回车,然后scanf函数把'a'这个字符放到ga里,'\n'放到缓冲区,然后
scanf("%c",&gb);
这句话,读取一个字符,scanf函数到缓冲区找,找到了,于是把回车给了gb,
你可以试一下输出ga,gb结果试ga='a',gb='\n'
处理方法:
printf("输入数组名:");scanf("%c",&ga);
getchar();
printf("\n");
printf("输入数组名:");scanf("%c",&gb);
getchar();
printf("\n");
以上两句getchar()滤掉了缓冲区的回车,你也可以用fflush(stdin);这个函数代替getchar(),fflush(stdin);的作用是清除缓冲区。

1、首先打开Dev-c++软件,点击“新建源代码”,如下图所示。

2、然后在打开的窗口中,输入代码,如下图所示。

3、编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的10个整数值为基础来进行运行的,每次输入的数组值不同,结果也会不同。

4、其中:for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件,此次程序的i的初始值从0开始,到9结束,共进行10次循环。

5、if(a[i]>0) m++ 中表示的是,从循环里找出正数,每次找出的正数进行存储在m里。注意这时if里的数组要注意定义为大于0,目的是为了找出10个整数里的正数。

6、最后一点要注意输出结果的那个代码要用到10-m-n,使其算出最后一个要求负数的个数,就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13363898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存