C语言,输入n个四位数,如果各个位数都是偶数则输出符合条件的数的个数,并在另一个数组中按从大到小排列

#include <iostream>
using namespace std;
void sorting(int b[100]);//排序
void detection(int a[100],int b[100]);//检测
int n;//输入数字个数
void detection(int a[100],int b[100])//检测
{
int k=0;
for(int i=0;i<n;i++)
{
if(a[i]/1000%2==0&&a[i]/100%2==0&&a[i]/10%2==0&&a[i]%2==0)
{
b[k]=a[i];
k=k+1;
}
}
return ;
}
void sorting(int b[100])//排序
{
int num,n;
for(int i=0;b[i]!='/0';i++)
{
n=i;
}
for(i=n;i>0;i--)
{
for(int k=n;k>n-i;k--)
{
if(b[k]>b[k-1])
{
num=b[k];
b[k]=b[k-1];
b[k-1]=num;
}
}
}
}
void main()
{
int a[10],b[10];
cout<<"输入4位数的个数"<<endl;
cin>>n;
cout<<"输入"<<n<<"个4位数"<<endl;
for(int i=0;i<n;i++)
{
cin>>a[i];
b[i]='/0';//初始化
}
detection(a,b);
sorting(b);
for( i=0;b[i]!='/0';i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
}

这是我找到的程序然后做了一下改动。。。请问。。怎么能把动态存储思想加进去啊?

改成动态存储的话,把main()函数的前几行改成这样就行:

void main()

{

int *a,*b;

    cout<<"输入4位数的个数"<<endl;

cin>>n;

a = new int[n];

b = new int[n];

cout<<"输入"<<n<<"个4位数"<<endl;

……

}

另外你的程序还有点小问题,比如第二个for循环中没有定义i。

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言,输入n个四位数,如果各个位数都是偶数则输出符合条件的数的个...
int *a,*b;cout<<"输入4位数的个数"<<endl;cin>>n;a = new int[n];b = new int[n];cout<<"输入"<<n<<"个4位数"<<endl;……} 另外你的程序还有点小问题,比如第二个for循环中没有定义i。

C语言从用户输入的一组数中找到全部偶数 输出偶数个数和偶数。
1 逐个输入整数,如果是偶数,则保存在数组中,否则放弃。2 当输入结束后,输出总个数,并逐个输出保存下来的偶数。代码如下:int main(){ int a[100]; int i, n = 0; while(~scanf("%d",&a[n])) if(a[n]%2==0) n++; printf("共计%d个偶数:\\n",n); for(...

这道C语言题得主要功能是将形参n中各位上为偶数的数取出,并按原来从高...
s,i;int t;s=n;i=1;\/\/因为个位数是乘于1,所以i=1while(s>0)\/\/当s>0的时候才继续运算{t=s%10;if(t%2==0){x=x+t*i;i=i*10;\/\/每增加一位,都要乘于10,而不是加上10,i=i*10}s=s\/10;}return x;

C语言程序题:输入n个整数,求这n个数中的偶数平均值,并输出。
printf("Average is :%f\\n",(float)sum\/count);}

输入N个数字,若N为偶数,则输出最中间的两个数以及这两个数的和,积...
include<stdio.h>int main(){ int d[30], n, i, sum, product, len = -1; scanf("%d", &n); i = n; while(i > 0) { d[++len] = i % 10; i \/= 10; } if(len % 2 ) { sum = d[(len - 1 ) \/ 2] + d[(len - 1) \/ 2...

输入n个整数,输出每个偶数,并输出奇数和和偶数和 求这个c语言程序代码...
核心代码,for(i=0;i<n;i++){ scanf("%d",&a);if(a%2)sum1=sum1+a;else sum2=sum2+a;} sun1奇数总和 sum2偶数总和

编写一个程序,输入一个整数,将该数各位上为偶数的数去掉,剩余的数按原...
用除以10取余(保存商以备下次继续用)的方法,从低到高依次得到每一位数字,用除以2取余的方法判断奇偶,若是偶数则丢弃,若是奇数则从低到高暂存到一数组。最后将暂存数组中的所有数字按倒序输出。

高分,C语言题,编写一个:把一个数组里面的所有偶数存入另一个数组中...
include<stdio.h> int main() { int a[] = {12,67,79,42,68,90,37,33,56,89};int b[10],i,n = 0;for(i = 0;i < 10;i++) { if(a[i]%2 == 0) { b[n] = a[i];n++;} } for(i = 0;i < n;i++) printf("%d ",b[i]);printf("\\n\\n");return 0;}...

用C语言编写一程序,统计从键盘输入的任意自然数中偶数的个数并求...
num!=-1的意思是num不等于-1 在for()的格式为:for(循环变量赋初值;循环条件;循环变量增值)这三个值理论上都可以省略,这个程序中的循环条件是num!=-1成立,也就是说当num不等于-1成立时执行循环,num不等于-1不成立(即num=-1)时跳出循环。

编写c语言程序,输入两个整数,输出包含他们在内及他们之间的奇数及个数...
要编写一个C语言程序,实现输入两个整数并输出它们之间以及包含它们的所有奇数及其个数,首先,打开DEVC++软件,新建一个源代码文件。在程序中,关键在于处理整数输入和输出,以及利用if-else语句进行奇数的判断。在程序开始,定义输入的两个整数变量,确保它们的类型为整数,对应输出函数中的“%d”。然后,...

相似回答